Ubuntu
使用 ssh 或 rsync 作為 sudo 時,密鑰身份驗證不起作用
我在客戶端和 ubuntu 伺服器之間設置了 ssh RSA 密鑰身份驗證(遵循此過程):
- RSA 密鑰身份驗證可以正常
ssh
工作rsync
(不需要密碼)。-RSA 密鑰認證失敗(提示我輸入密碼)。 -我需要用來在本地寫遠端文件。
sudo rsync``sudo ssh
sudo rsync
我正在執行以下命令:
user1@server:/$ sudo su user2 user2@server:/$ rsync 192.168.1.2:... # ok user2@server:/$ sudo rsync 192.168.1.2:... # remote host password prompt
僅供參考,user1和user2都是 sudoers 的一部分
知道這可能來自哪裡嗎?
謝謝。
**更新:**澄清一下,密碼提示不是來自 sudo 而是來自伺服器
您需要告訴它使用正確的公鑰。我懷疑 ssh 仍在使用 user1 的密鑰,而不是 user2。使用這個命令:
sudo -u user2 ssh -i ~user2/.ssh/id_rsa remoteserver
我在我的機器上測試了它並且它工作。
這個問題在
#/etc/sudoers ====at the end of file add this==== user1 ALL = NOPASSWD:ALL
這將使用 sudo 命令刪除 user1 的密碼提示。
不要忘記 sudo 使用者可以將他們的 ssh 密鑰儲存在 /root/.ssh/ 而不是 /home/user1/.ssh/