Linux

無法通過 SSH 連接到 localhost

  • August 6, 2016

因此,過去兩個小時我一直在嘗試通過 localhost SSH 連接到我自己的電腦。但它說“權限被拒絕(公鑰)”。

我在 VirtualBox 上執行 Ubuntu 14 LTS。這是我目前的設置:

  1. 我的*/home/username目錄有“.ssh”文件夾,其中包含“known_hosts”、“initialkey”和“initialkey.pub”文件。我用 RSA生成了初始密鑰文件。*
  2. 我的“/etc/ssh”文件夾也有兩個 RSA 文件——“ssh_host_rsa_key”和“ssh_host_rsa_key.pub”(這些 RSA 密鑰與*/home/username/.ssh文件夾中的不同)。“sshd_config”文件禁用了密碼驗證*,禁用了 root 登錄,同時啟用了公鑰和 RSA 驗證。“AuthorizedKeysFile”的值設置為“/root/.ssh/authorized_keys”。
  3. 在“/root/.ssh/authorized_keys”中,我複制了上面提到的“initialkey.pub”文件。

我已經檢查了所有使用者的權限,使它們都至少為“r”。

儘管如此,問題仍然存在。也許我對 SSH 進入本地機器的工作方式的概念是不正確的。到目前為止,我相信“openssh 伺服器”正在將我的機器變成伺服器,並且通過使用ssh localhost命令,我甚至可以從同一台機器登錄到該伺服器。

更新: 問題已通過更改主目錄的權限得到解決。我使用了命令chmod 750 $HOME,它解決了這個問題。謝謝大家的意見。

SSH 對密鑰非常偏執。如果路徑上的任何目錄可由所有者以外的任何人寫入,它將不信任該密鑰。檢查路徑中所有目錄的權限。權限應該類似於drwxr-xr-xor drwxr-x---drwxrwxr-x類似或drwxrwxrwx將導緻密鑰不受信任的權限。

引用自:https://unix.stackexchange.com/questions/301668