目的是执行下面的命令不需要输入任何密码!
>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. 验证一下,是不是很爽。不用老敲字了!而且可以在脚本中无缝运行远程命令了。