Ssh
嘗試通過公鑰登錄時 ssh 詢問密碼
雖然這些行存在於我的伺服器的
/etc/ssh/ssd_config
RSAAuthentication yes PubkeyAuthentication yes
當嘗試通過顯式提供用於身份驗證的私鑰登錄到上述伺服器時,系統會提示我輸入密碼:
$ ssh -i ~/Desktop/some_id_rsa myusername@server-hostname myusername@server-hostname's password:
請更改權限
authorized_keys
chmod 600 ~/.ssh/authorized_keys
我建議您刪除所有密鑰並備份您的
authorized_keys
並按照以下步驟操作:1.在客戶端創建密鑰:
ssh-keygen -t rsa -b 4096
2.將公鑰複製到遠端設備
2.A. 使用
ssh-copy-id
(最佳選擇)ssh-copy-id <user>@<remote-host>
2.B。使用 Secure Copy(推薦用於遠端 CentOS 主機)
- **B.1。**首先,與遠端使用者建立 SSH 連接:
ssh <user>@<remote-host> -p <port>
- **B.2。**接下來,創建
~/.ssh
目錄和authorized_keys
文件:mkdir -vp ~/.ssh touch ~/.ssh/authorized_keys
- **B.3。**使用
chmod
命令更改文件權限:sudo chmod -v 700 ~/.ssh sudo chmod -v 600 ~/.ssh/authorized_keys
- **B.4。**通過鍵入以下命令將內容從
id_rsa.pub
(SSH 公鑰)複製到遠端伺服器上先前創建的文件:authorized_keys
scp ~/.ssh/id_rsa.pub -P <port> <user>@<remote-host> :~/.ssh/authorized_keys
筆記:
驗證是您的目錄
$HOME
,.ssh
並且該文件authorized_keys
在客戶端具有正確的權限:sudo chmod -v 700 ~ sudo chmod -v 700 ~/.ssh sudo chmod -v 600 ~/.ssh/authorized_keys
chmod 700
使文件可執行chmod 600
允許使用者讀取和寫入文件。