Kategorien
Windows 10

OpenSSH unter Windows 10

Seit Windows 10 1803 ist der OpenSSH Client vorinstalliert, wie man unter „Einstellungen | Apps | Optionale Features verwalten“ sehen kann.

OpenSSH Client
Features OpenSSH Client

Seit Windows 10 1803 ist der OpenSSH Client vorinstalliert, wie man unter „Einstellungen | Apps | Optionale Features verwalten“ sehen kann.

C:\Users\myUser>ssh openSUSE
Password:
Last login: Thu May 31 11:19:06 2018 from WindowsClient
Have a lot of fun...
myUser@openSUSE:~> exit
C:\Users\myUser>

Beachte: Der Username wird nicht abgefragt. Das ssh-Kommando nutzt unter Linux einen User mit demselben Namen wie unter Windows.

Unter %UserProfile%\.ssh stehen Konfigurationsdateien wie known_hosts, und unter C:\Windows\System32\OpenSSH findet man weitere Client-Programme:

  • scp.exe
  • sftp.exe
  • ssh-add.exe
  • ssh-agent.exe
  • ssh-keygen.exe
  • ssh-keyscan.exe
  • ssh.exe

X11 Forwarding

Ich hatte den VcXsrv Windows X Server installiert, aber X11-Forwarding mit ssh -X openSUSE ist mir nicht gelungen:

  • Wenn ich mich mit PuTTY einlogge ist automatisch die Variable DISPLAY=localhost:10.0 gesetzt.
  • Mit ssh ist die Variable nicht gesetzt und auch Export DISPLAY=localhost:10.0 nützt nichts („Error: Can't open display: localhost:10.0“).
  • Wenn ich auf dem Client vor dem Aufruf von ssh die DISPLAY Variable setze, bekomme ich
    CreateProcessW failed error:2
    ssh_askpass: posix_spawn: No such file or directory
    .
    Das scheint ein bekanntes Problem zu sein, siehe „ssh client on Windows7 fails … #966

Public Key Authentication

Schlüsselpaar erzeugen:

C:\Users\myUser>ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\myUser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
…

Öffentlichen Schlüssel auf den Server laden

scp .ssh\id_rsa.pub openSUSE:.ssh\authorized_keys

(Achtung: Falls die Datei „authorized_keys“ bereits existiert, wird sie auf diese Art überschrieben.)

Login

C:\Users\myUser>ssh openSUSE
Enter passphrase for key 'C:\Users\myUser/.ssh/id_rsa':
…