目的是執行下面的命令不需要輸入任何密碼!
>ssh username@host "sudo command"
1. 在本地機器上生成祕鑰對兒
ssh-keygen -t rsa
一路回車後生成在~/.ssh/目錄下生成兩個文件id_rsa和id_rsa.pub。後者是公鑰。
2. 遠程機器上如果沒有~/.ssh/目錄的使用命令建立
ssh username@host "mkdir -p .ssh"
3. 將本地機器的id_rsa.pub加入到遠程機器的~/.ssh/authorized_keys文件末尾。
cat .ssh/id_rsa.pub | ssh username@host 'cat >> .ssh/authorized_keys'
4. 驗證是否ssh可以免密碼登錄
> ssh username@host
5. 在遠程機器上使用visudo在/etc/sudoers裏面添加一行。添加這行需要有sudoer的權限。
username ALL=(ALL:ALL) NOPASSWD:ALL
6. 驗證一下,是不是很爽。不用老敲字了!而且可以在腳本中無縫運行遠程命令了。