我们在通过ssh登录服务器时,常常需要输入密码,一定很麻烦,有一个好用的工具可以解决这个问题。话不多说,下面开始介绍下如何使用。
1.编译安装
wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz
tar xvzf sshpass-1.05.tar.gz
./configure --prefix=/usr/local/Cellar/sshpass/1.05
make
sudo make install
2.新建一个sshp文件
#!/bin/bash
RC_ERR_NO_HOST=11
RC_ERR_NO_PASSWORD=21
RC_SUCCESS=0
pass_path=~/.ssh/sshp_pass
host=$1
# arguments
if [ -z $host ]; then
echo "ERR_NO_HOST, please input host."
exit $RC_ERR_NO_HOST
fi
# read file
pwd=`grep $host\ $pass_path | cut -d' ' -f 2`
if [ -z $pwd ]; then
echo "ERR_NO_PASSWORD, please record password first. file path $pass_path"
exit $RC_ERR_NO_PASSWORD
fi
exec sshpass -p $pwd ssh root@$host -p22
exit $RC_SUCCESS
3. 创建一个文件 ~/.ssh/sshp_pass
存放 host 与密码数据,格式为"host password"。
例如:
10.101.81.238 123456
4.打开~/.bash_profile重定义命令
alias sshp="sh /Users/apple/Public/software/sshp.sh"
source ~/.bash_profile
5.使用
$ sshp 10.101.81.238