一、ssh連接時出現serverrefusedourkey錯誤怎麼辦?
# 代碼示例 ssh ubuntu@192.168.0.10 -i /path/to/private/key # 解析說明 當我們使用ssh連接遠程主機時,如果服務端拒絕了我們所提供的私鑰,就會出現"serverrefusedourkey"錯誤。這通常是因為拒絕的私鑰不在服務器的authorized_keys文件中。 在以上代碼示例中,我們可以嘗試使用-i選項指定正確的私鑰文件路徑來解決該問題。
解決該問題的方法還有:
1、檢查authorized_keys文件是否包含正確的公鑰:
cat ~/.ssh/id_rsa.pub | ssh ubuntu@192.168.0.10 'cat >> ~/.ssh/authorized_keys'
2、重啟ssh服務:
sudo service ssh restart
二、為什麼ssh連接時會出現serverrefusedourkey錯誤?
1、私鑰不匹配:
當我們生成公鑰和私鑰時,如果私鑰出現了任何問題(比如損壞、修改或重命名),服務器將無法識別該私鑰,從而拒絕連接。
2、沒有正確設置權限:
在我們連接遠程主機時,ssh客戶端需要讀取私鑰文件,如果私鑰文件沒有正確的權限設置,也會出現”serverrefusedourkey”錯誤。
3、服務器未在authorized_keys文件中添加你的公鑰:
我們需要將我們的公鑰添加到authorized_keys文件中,否則服務器將無法識別我們的私鑰。
三、如何避免ssh連接時出現serverrefusedourkey錯誤?
1、使用ssh-agent:
ssh-agent是用於管理私鑰的工具。ssh-agent將私鑰加入到代理中,避免了每次ssh連接時都需要輸入密碼或指定私鑰的問題。使用以下命令啟動ssh-agent:
eval $(ssh-agent)
2、使用ssh-copy-id:
ssh-copy-id是一個簡單的腳本,可以自動將我們的公鑰添加到目標主機的authorized_keys文件中。使用以下命令運行ssh-copy-id:
ssh-copy-id ubuntu@192.168.0.10
3、使用ssh配置文件:
我們可以使用ssh配置文件來配置ssh客戶端,避免每次連接時都必須指定私鑰和用戶名等信息。示例:
Host myserver HostName 192.168.0.10 Port 22 User ubuntu IdentityFile /path/to/my/key
以上是一些避免出現”serverrefusedourkey”錯誤的有效方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/190678.html