【发布时间】:2017-06-21 18:34:41
【问题描述】:
我想远程连接到我的 Windows 10 上的 Ubuntu bash。
我在端口 22 上得到了答案,但是当它询问用户名和密码时,它说访问被拒绝...
我已经创建了一个用户“root”并且我已经完成了一个“sudo passwd root”
Windows 防火墙已停用(服务已停止)。
谢谢!
【问题讨论】:
我想远程连接到我的 Windows 10 上的 Ubuntu bash。
我在端口 22 上得到了答案,但是当它询问用户名和密码时,它说访问被拒绝...
我已经创建了一个用户“root”并且我已经完成了一个“sudo passwd root”
Windows 防火墙已停用(服务已停止)。
谢谢!
【问题讨论】:
在 Windows 上停止 ssh server 和 ssh broker 服务以避免 SSH 端口冲突
在/etc/ssh/sshd_config 中进行以下更改:
UsePrivilegeSeparation no
PasswordAuthentication yes
然后通过sudo service ssh restart重启ssh服务器。如果您看到could not load host key 错误,请按如下方式创建主机密钥并重新启动 ssh 服务:
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -b 4096 -t rsa
【讨论】:
首先,您需要停止/禁用 Windows 10 SSH 服务器代理服务或更改 OpenSSH 端口。
之后,修改/etc/ssh/sshd_config:
UsePrivilegeSeparation no
PubkeyAuthentication no
PasswordAuthentication yes
【讨论】:
在 Windows SSH 连接上使用我的 Bash 在 Ubuntu 上安装 VirtualBox 后,我开始遇到问题。我停止了虚拟机,卸载了,但仍然无法进行身份验证。用户“Nobody”是正确的,最好的解决方案是禁用 Windows 10 的 SSH 代理,或者只是更改 Linux 子系统上的 SSH 端口,我这样做了,而且效果很好。
【讨论】:
在大多数情况下,您还必须添加入站防火墙规则以允许端口 22 上的流量。默认设置仅允许使用 ssh 的 windows 实现的入站流量,因此不允许 openssh-server 的任何流量。只需按照上面的说明,然后在 Windows 防火墙中添加端口 22 入站规则,您就应该设置好了。
【讨论】:
由于windows实现不提供chroot,你需要修改/etc/ssh/sshd_config
UsePrivilegeSeparation no
您还需要使用 useradd 命令左右创建用户。
【讨论】: