我正在尝试将我的 Windows 10 桌面变成安全的 ssh 服务器。 sshd 正在运行,但我无法让任何其他计算机连接到它。我正在使用 ed25519 进行密钥身份验证。我使用与我的 arch Linux 服务器相同的密钥对。
我从更新开始
sudo apt-get 更新 && sudo apt-get -y 升级
安装
sudo apt-get 安装 openssh-server
然后将以下内容添加到 nano /etc/ssh/sshd_config
PermitRootLogin no
PubkeyAuthentication yes
AllowUsers user21303
PasswordAuthentication no
ChallengeResponseAuthentication no UsePAM
yes X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_* Subsystem
sftp /usr/lib/openssh/sftp-server
将 id_ed25519.pub 复制到 ~/.ssh
更改了权限
须藤 chmod 700 .ssh 须藤 chmod 644 .ssh/id_ed25519.pub
验证已使用 ls -la 设置权限
重新启动服务
sudo service ssh --完全重启
验证服务正在运行
服务 ssh 状态
正在运行
当我尝试连接到主机的 IP 地址时,没有任何反应。我使用了三重冗长,并且得到了与连接到无效 IP 时相同的错误:
OpenSSH_7.8p1 Debian-1, OpenSSL 1.0.2o 27 Mar 2018
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolve_canonicalize: hostname 192.168.1.180 is address
debug2: ssh_connect_direct debug1: Connecting to 192.168.1.180 [192.168.1.180] port 22
我收到与连接到不存在的 IP 地址时相同的错误消息。
我确实有互联网。我可以 ping 8.8.8.8 等
我怎样才能进一步诊断这个问题。我想知道如何寻找原因而不是仅仅暴力谷歌。感谢您的时间。
答案1
WSL 内核不是 Linux 内核,事实上 WSL 运行时的权限并不比常见的 Windows 应用程序更高。
此外,当您关闭 WSL 时,所有应用程序都将被终止。有一些笨拙的解决方法,但取得了不同程度的轻微成功。请记住,这是有问题的。
我不会投入时间使用 WSL 作为 shell/SSH 服务器。事实上,使用 cygwin 成功的机会更大。
如果你确实需要 Ubuntu 和 SSH 服务,我建议使用虚拟机
在这里查看我的答案无法访问在 WSL 中运行的 SSH 服务器- 这里有一些信息可能虽然已经过时了,但它很好地说明了真正的 Linux 和 WSL 之间的差异。