背景:
想在shell脚本里ssh连接到另外一台服务器后执行一些命令,但是不希望通过交互方式输入登录密码。主要的解决方法有三种:1. 生成ssh公钥,建立和对方机器的信任关系;2. 使用expect;3. 使用sshpass。这里只介绍sshpass相关内容
下载:
最新版下载地址:http://sourceforge.net/projects/sshpass/files/latest/download?source=files
安装(以sshpass-1.05.tar.gz为例):
# tar zxvf sshpass-1.05.tar.gz
# cd sshpass-1.05
# ./configure
# make && make install
使用:
- 基本用法:sshpass -p [密码] ssh [user]@[host]
- 免去第一次登录机器时的确认提示(Are you sure you want to continue connecting (yes/no)):sshpass -p [密码] ssh [user]@[host] -o StrictHostKeyChecking=no
后面也可以跟上其他ssh命令,如scp等