既然 Windows 10 拥有适用于 Linux 的 Windows 子系统,是否可以通过 SSH 远程连接到它?在 Bash shell 启动并运行的情况下,我尝试将 Putty(在同一台计算机上运行)连接到本地主机,但连接被拒绝。有人让这个工作了吗?
答案1
据我所知,Linux 子系统是本地化的(目录/文件搜索之外),并且无法真正理解它存在于 Windows 环境中。它不会“与”Windows 二进制文件和 API 对话。因此,您无法从外部连接到在 Windows 上的 Ubuntu 内部运行的 SSH 服务器。在我看来,这是一个失败...但无论如何。
但是,有一种方法可以在 Windows 上运行 SSH,而且我让它完美运行。我可以通过我的公共网络和端口转发到我的本地计算机,从互联网上使用 WinSCP 和 Putty(包括反向隧道 socks 代理)进行 SSH。或者当然也可以在我的 LAN 上进行。请确保在 Windows FW 上允许端口 22。
以下是我遵循的说明。如果您遇到任何问题,我会尽量详细说明我采取的所有步骤。
答案2
使用 WSL 通过 ssh 连接到 Windows 计算机将使您登录到运行 cmd.exe 的 Windows 主目录(例如 C:/Users/rhm 又名 /mnt/c/Users/rhm)。执行“/windows/system32/bash.exe ~ --login”将使您登录到在 Windows 上的 Ubuntu 上运行 Bash 的 Linux 主目录(例如 /home/rhm)并执行您的 .profile。