Ubuntu

使用 ssh 或 rsync 作為 sudo 時,密鑰身份驗證不起作用

  • May 11, 2011

我在客戶端和 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

僅供參考,user1user2都是 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/

引用自:https://serverfault.com/questions/268611