Windows 10 Bash(Ubuntu)中的 SSH
我正在嘗試將我的 Windows 10 桌面變成一個安全的 ssh 伺服器。sshd 正在執行,但我無法讓我的任何其他電腦連接到它。我正在使用 ed25519 的密鑰身份驗證。我使用與我的 Arch Linux 伺服器相同的密鑰對。
我從更新開始
sudo apt-get update && sudo apt-get -y upgrade
安裝
sudo apt-get install 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
更改了權限
sudo chmod 700 .ssh sudo chmod 644 .ssh/id_ed25519.pub
驗證已使用 ls -la 設置權限
重啟服務
sudo service ssh –full-restart
驗證服務是否正在執行
服務 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 等。
我怎樣才能進一步診斷這個問題。我想知道如何搜尋原因,而不僅僅是蠻力Google。感謝您的時間。
WSL 核心不是 Linux 核心,實際上 WSL 並沒有以比您常見的 Windows 應用程序更多的權限執行。
此外,當您關閉 WSL 時,所有應用程序都將被終止。有一些笨拙的解決方法,但都取得了不同程度的輕微成功。請記住,這是有問題的。
我不會花時間將 WSL 用作 shell/SSH 伺服器。事實上,使用 cygwin 成功的機會更大。
如果您確實需要 Ubuntu 和 SSH 服務,我建議您改用 VM
在這裡查看我的答案無法訪問在 WSL 中執行的 SSH 伺服器- 這裡的一些資訊可能已經過時,但它很好地說明了真正的 Linux 和 WSL 之間的區別。