linux下使用sshpass实现ssh记住密码

我们在通过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

你可能感兴趣的:(linux下使用sshpass实现ssh记住密码)