WSLで実行されているSSHサーバーにアクセスできません。 [閉じる]

WSLで実行されているSSHサーバーにアクセスできません。 [閉じる]

デフォルトでは、Kali WSL LinuxでSSHサーバーを有効にしました。

問題は、Windowsでパスワードを入力すると正常に動作し、接続に成功することです。ssh [email protected]

インターネットでこれを行うと、ssh root@PublicIPパスワードの入力を求められ、失敗します。

ポート22でSSHアクセスを有効にするためにルータでポート転送を有効にしましたPermitRootLogin: Yes

インターネット上でsshを実行すると、コマンドの出力は次のようになります。 ssh -vvv [email protected]

debug1: Trying private key: C:\\Users\\username/.ssh/id_dsa
debug3: GetFileAttributesExW with last error 2
debug3: no such identity: C:\\Users\\username/.ssh/id_dsa: No such file or directory
debug1: Trying private key: C:\\Users\\username/.ssh/id_ecdsa
debug3: GetFileAttributesExW with last error 2
debug3: no such identity: C:\\Users\\username/.ssh/id_ecdsa: No such file or     directory
debug1: Trying private key: C:\\Users\\username/.ssh/id_ed25519
debug3: GetFileAttributesExW with last error 2
debug3: no such identity: C:\\Users\\username/.ssh/id_ed25519: No such file or     directory
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
debug3: failed to open file:/dev/tty error:3
debug1: read_passphrase: can't open /dev/tty: No such file or directory

サーバー/var/log/auth.logの出力は次のとおりです。

Aug 19 17:17:01 kali CRON[1427]: pam_unix(cron:session): session opened for user root by (uid=0)
Aug 19 17:17:01 kali CRON[1427]: pam_unix(cron:session): session closed for user root
Aug 19 17:21:13 kali systemd-logind[553]: New seat seat0.
Aug 19 17:21:13 kali systemd-logind[553]: Watching system buttons on /dev/input/event5 (Power Button)
Aug 19 17:21:13 kali systemd-logind[553]: Watching system buttons on /dev/input/event0 (AT Translated Set 2 keyboard)
Aug 19 17:21:15 kali sshd[586]: Server listening on 0.0.0.0 port 22.
Aug 19 17:21:15 kali sshd[586]: Server listening on :: port 22.
Aug 19 17:21:16 kali gdm-launch-environment]: pam_unix(gdm-launch-environment:session): session opened for user Debian-gdm by (uid=0)
Aug 19 17:21:16 kali systemd-logind[553]: New session c1 of user Debian-gdm.
Aug 19 17:21:16 kali systemd: pam_unix(systemd-user:session): session opened for user Debian-gdm by (uid=0)
Aug 19 17:21:25 kali polkitd(authority=local): Registered Authentication Agent for unix-session:c1 (system bus name :1.16 [/usr/bin/gnome-shell], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Aug 19 17:21:27 kali realmd[785]: Loaded settings from: /usr/lib/realmd/realmd-defaults.conf /usr/lib/realmd/realmd-distro.conf
Aug 19 17:21:27 kali realmd[785]: holding daemon: startup
Aug 19 17:21:27 kali realmd[785]: starting service
Aug 19 17:21:27 kali realmd[785]: connected to bus
Aug 19 17:21:27 kali realmd[785]: released daemon: startup
Aug 19 17:21:27 kali realmd[785]: claimed name on bus: org.freedesktop.realmd
Aug 19 17:21:44 kali gdm-password]: pam_unix(gdm-password:session): session opened for user root by (uid=0)
Aug 19 17:21:44 kali systemd: pam_unix(systemd-user:session): session opened for user root by (uid=0)
Aug 19 17:21:44 kali systemd-logind[553]: New session 2 of user root.
Aug 19 17:21:47 kali polkitd(authority=local): Registered Authentication Agent     for unix-session:2 (system bus name :1.55 [/usr/bin/gnome-shell], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Aug 19 17:22:28 kali realmd[785]: quitting realmd service after timeout
Aug 19 17:22:28 kali realmd[785]: stopping service
Aug 19 17:23:03 kali sshd[1269]: Connection closed by 192.168.0.13 port 57122     [preauth]
Aug 19 17:24:35 kali sudo:     root : TTY=pts/0 ; PWD=/root ; USER=root ;     COMMAND=/usr/bin/passwd
Aug 19 17:24:35 kali sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Aug 19 17:24:37 kali passwd[1284]: pam_unix(passwd:chauthtok): password changed for root
Aug 19 17:24:37 kali passwd[1284]: gkr-pam: couldn't update the login keyring password: no old password was entered
Aug 19 17:24:37 kali sudo: pam_unix(sudo:session): session closed for user     root
Aug 19 17:25:01 kali CRON[1287]: pam_unix(cron:session): session opened for user     root by (uid=0)
Aug 19 17:25:01 kali CRON[1287]: pam_unix(cron:session): session closed for user root
Aug 19 17:26:11 kali sshd[1290]: Accepted password for root from 192.168.0.13 port 57190 ssh2
Aug 19 17:26:11 kali sshd[1290]: pam_unix(sshd:session): session opened for user root by (uid=0)
Aug 19 17:26:11 kali systemd-logind[553]: New session 5 of user root.
Aug 19 17:28:04 kali passwd[1307]: pam_unix(passwd:chauthtok): password changed for sshd
Aug 19 17:28:04 kali passwd[1307]: gkr-pam: couldn't update the login keyring password: no old password was entered
Aug 19 17:28:14 kali sshd[1290]: pam_unix(sshd:session): session closed for user root
Aug 19 17:28:14 kali systemd-logind[553]: Removed session 5.
Aug 19 17:35:01 kali CRON[1328]: pam_unix(cron:session): session opened for user root by (uid=0)
Aug 19 17:35:01 kali CRON[1328]: pam_unix(cron:session): session closed for user root

SSHに正常に接続するにはどうすればよいですか?

ベストアンサー1

WindowsのLinux用のWindowsサブシステムは、一般的なLinuxではありません。 (詳細については、最後の関連質問へのリンクを参照してください)

リモートSSHが正常に動作するには、疑似端末サポートが必要です。これら2つの記事によると、最近6月のWindows 14361 Insider Previewアップデートに追加されました。まだ大衆に公開されていないので現在、リモートSSHはすべてのWSL Linuxバージョンでは機能しません。

Ubuntuはこれを準備しているようですが、Kaliは追いつくのに時間がかかります。

さらに、WSLには特別な権限がなく、他の一般的なWindowsユーザー/プロセスのみがあります。 WSLコマンドラインボックスを閉じると、WSLのサービス/デーモンは実行されなくなり、すべてのプロセスが終了します。

(永続的な)Linuxサービスを実行する必要がある場合は、仮想マシンでLinuxを実行するのが最善です。

疑似ターミナル/ptyのサポートについては、以下を参照してください。

TmuxはWindowsのUbuntuでBashをサポートしています。

PC用Windows 10ビルド14361:知っておくべきこと

Windows 10ビルド14361では、Linux用のWindowsサブシステム(WSL)に擬似端末サポートを追加しました。

関連質問を見る:Debianバージョン9.5 Linuxで通常のトンネルを実行しようとしています。

また見なさい:擬似端末(pty / tty)とは何ですか?

PS。 Windowsに密接に関連するWSLに基づくWLSで永続的なサービスを試して実行するために必要な複雑な設定/コツを無視しないでください。彼らは醜く信頼性が疑われます。

新しいWSL pty実装でOpenSSHが機能できるかどうかはわかりません。

おすすめ記事