目的是执行下面的命令不需要输入任何密码!


 copy

  1. >ssh username@host "sudo command"  


1. 在本地机器上生成秘钥对儿


  1. ssh-keygen -t rsa  


一路回车后生成在~/.ssh/目录下生成两个文件id_rsa和id_rsa.pub。后者是公钥。


2. 远程机器上如果没有~/.ssh/目录的使用命令建立


  1. ssh username@host "mkdir -p .ssh"  


3. 将本地机器的id_rsa.pub加入到远程机器的~/.ssh/authorized_keys文件末尾。

cop

  1. cat .ssh/id_rsa.pub | ssh username@host 'cat >> .ssh/authorized_keys'  

4. 验证是否ssh可以免密码登录

copy

  1. > ssh username@host  

5. 在远程机器上使用visudo在/etc/sudoers里面添加一行。添加这行需要有sudoer的权限。

 copy

  1. username    ALL=(ALL:ALL) NOPASSWD:ALL  

6. 验证一下,是不是很爽。不用老敲字了!而且可以在脚本中无缝运行远程命令了。