私はWindows 10 Anniversary Editionに「Bash on Ubuntu on Windows」をインストールして動作させています。このUbuntuインスタンスにSSHできるようにしたいのですが、openssh-serverをインストールして設定しているにもかかわらず(ポート2200でリスニングしている)、”localhost:2200 “にSSHしようとすると、”Server unexpectedly closed network connection “と言われてしまいます
これを成功させた人はいますか?
120 Mick 2016-08-09
うまくいった方法はこうだ
ssh-serverをアンインストールして、再インストールして、起動していることを確認
sudo service ssh --full-restart
rootアクセスをオフにして、設定ファイルに別のユーザーを追加したことを確認してください
予想通り127.0.0.1:22でサブシステムに接続できました。これでお役に立てれば幸いです
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
sudo nano /etc/ssh/sshd_config
とPermitRootLogin no
を設定してルートログインを禁止するそして、その下に書いてある行を追加します
AllowUsers yourusername
パスワードを使ってログインしたい場合は、
PasswordAuthentication
がyes
になっていることを確認してくださいUsePrivilegeSeparation no
を追加/変更して特権分離を無効にするsudo service ssh --full-restart
PuTTY のような ssh クライアントを使用して、Windows から Linux サブシステムに接続します
138 Master Azazel 2016-08-16
上記の解答が近かったのですが、やはりConnection closed by 127.0.0.1
の問題がありました
そこで、最初からやり直して、sshd
パッケージを削除するときに--purge
オプションを指定することで、この問題を解決することができました (以下で説明します)
user$ sudo apt-get remove --purge openssh-server # First remove sshd with --purge option.
user$ sudo apt-get install openssh-server
user$ sudo vi /etc/ssh/sshd_config # **See note below.
user$ sudo service ssh --full-restart
# ** Change Port from 22 to 2222. (Just in case MS-Windows is using port 22).
# Alternatively, you can disable MS-Windows' native SSH service if you
# wish to use port 22.
お役に立てれば幸いです。\(◠﹏◠)/
38 NYCeyes 2017-05-16
Windows の実装では chroot を提供していないので、/etc/ssh/sshd_config を変更する必要があります
UsePrivilegeSeparation no
また、ユーザー追加コマンドなどを使ってユーザーを作成する必要があります
27 d1val 2016-08-09
アザゼル師匠の提案通りに全てやってみましたが、問題が発生しました。ポート22
に接続するとパスワードを求められましたが、Linuxサブシステムで設定したパスワードではうまくいきませんでした
解決策その1:/etc/ssh/sshd_config
のSSHポートを変更し、サブシステムのSSHサーバを再起動します
解決策その2:Windowsのサービスコントロールパネルの「SSH Server Broker Services」を無効化/停止し、サブシステムのSSHサーバを再起動します
5 scotty86 2016-11-17
sshできない理由は、サーバからのログに記載されています
chroot(“/var/run/sshd”).関数は実装されていません[preauth]
Linux サブシステムには chroot が実装されていないようで、ssh サーバがそれを必要としているため、接続が許可されていません
2 Sami Kuhmonen 2016-08-09