我弄好了,这是方法。
卸载了 ssh-server,重新安装并确保它已启动。
sudo service ssh --full-restart
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
sudo nano /etc/ssh/sshd_config
并通过设置PermitRootLogin no
禁止root登录然后在下面添加一行:
AllowUsers 你的用户名
如果想使用密码登录,请确保PasswordAuthentication
设置为yes
。
通过添加/修改UsePrivilegeSeparation no
来禁用特权分离
sudo service ssh --full-restart
使用PuTTY等ssh客户端从Windows连接到你的Linux子系统。
UsePrivilegeSeparation no
。 - MickUsePrivilegeSeparation no
设置为不启用。你仍然可以使用root登录;PermitRootLogin yes
正常工作。 - Milos Ivanovic/etc/ssh/sshd_config
文件中的端口2222
),否则Windows的SSH服务器将在22号端口接收连接。 - arodfailed: Address already in use.
错误,请尝试将 ListenAddress
的注释取消,这对我来说起作用了 - 我的笔记本电脑上运行的 Insider Preview 14986 可以在没有它的情况下正常工作,但 /etc/ssh/sshd_config
文件保持不变。 - dzasudo service ssh --full-restart
才能使ssh再次正常工作。为什么会这样? - Artem Russakovskiiopenssh-server
实际上是我需要执行的唯一步骤,以使服务器响应。 - Daniel Sanersudo dpkg-reconfigure openssh-server
真的是生成主机密钥的最佳实践。 - NotTheDr01dsuser$ 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.
--purge
标志移除openssh-server是关键。这样才能使它正常工作。 - sagunmsUsePrivilegeSeparation no
22
时,被要求输入密码,但我在Linux子系统中设置的密码无效。
解决方案1:
在/etc/ssh/sshd_config
中更改SSH端口,并重新启动子系统中的SSH服务器。
解决方案2:
在Windows的服务控制面板中禁用/停止"SSH Server Broker Services",然后重新启动子系统中的SSH服务器。