想在shell脚本里ssh连接到另外一台服务器后执行一些命令,但是不希望通过交互方式输入登录密码。
主要的解决方法有三种:
1. 生成ssh公钥,建立和对方机器的信任关系;
2. 使用expect脚本;
3. 使用sshpass
这里介绍一下sshpass
yum install sshpass -y
实例:
[[email protected] bin]# ./sshpass -p 123456 ssh -o StrictHostKeyChecking=no [email protected] "ls -t | head -n 1"
[[email protected] bin]# ./sshpass -p 123456 scp -o StrictHostKeyChecking=no /root/abc.sh 192.168.1.15:/root
-p:指定ssh的密码
-o StrictHostKeyChecking=no 避免第一次登录出现公钥检查。也就是避免出现
参考资料:http://blog.csdn.net/hepeng597/article/details/8727052
http://blog.csdn.net/zj0910/article/details/40679301
时间: 2024-10-26 06:41:59