SSH自动登录的三种方式

要实现ssh自动登录,主要有三种方法:

1、生成公私钥。

http://blueicer.blog.51cto.com/395686/88175/


2、编写expect脚本。

http://blog.csdn.net/span76/article/details/11575231


3、用sshpass。

用法:
   sshpass 参数 SSH命令(ssh,sftp,scp等)。
   参数:
       -p password    //将参数password作为密码。
       -f passwordfile //提取文件passwordfile的第一行作为密码。
       -e        //将环境变量SSHPASS作为密码。

   比如说:
       scp [email protected]:/home/xxx/test /root   这个命令的作用是将服务器端文件test传到本地文件夹/root下。
       利用sshpass,假设密码为efghi,则可写作:
       ssh -p efghi scp [email protected]:/home/xxx/test /root
另外,对于ssh的第一次登陆,会提示:“Are you sure you want to continue connecting (yes/no)”,这时用sshpass会不好使,解决方法:

1.可以在ssh命令后面加上 -o StrictHostKeyChecking=no来解决。比如说上面的命令,就可以写作ssh -p efghi scp [email protected]:/home/xxx/test /root -o StrictHostKeyChecking=no。

2.或者写入配置文件:把 StrictHostKeyChecking no 加到/etc/ssh/sshconfig 可以让ssh客户端自动接受新主机的hostkey,不用每次都自己输入yes


你可能感兴趣的:(ssh,expect,sshpass,ssh自动登录)