Windows 10 Bash(Ubuntu) 中的 SSH

Windows 10 Bash(Ubuntu) 中的 SSH

我正在尝试将我的 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 之间的差异。

参见相关尝试在 Debian 版本 9.5 Linux 中运行常规隧道

相关内容