公司的linux服务器和交换机都是用户名和密码ssh连接的,每次连接时都要手动输入密码感觉很是麻烦
如果连接时不用输入密码就方便很多了,于是网上查了下说是有三种解决方法
1. 生成ssh公钥,建立和对方机器的信任关系;
2. 使用expect脚本;
3. 使用sshpass。
个人比较喜欢使用sshpass,配上 shell脚本后效率提高很多
sshpass 安装 (centos)
yum install sshpass
基本用法:sshpass -p [密码] ssh [user]@[host]
第一次登录机器时的确认提示(Are you sure you want to continue connecting (yes/no))
如果取消提示可使用如下命令
sshpass -p [密码] ssh [user]@[host] -o StrictHostKeyChecking=no
自动登录脚本
vi autologin.sh
#!/bin/bash
p=123456
#password,当密码改动时只需要修改这个值就即可
read -p "请输入要连接的服务器ip地址未位,192.168.10." a
#由于只使用一个网段192.168.10.X,这里只需要输入ip地址的末位即可
ip=192.168.10.$a
echo 连接的交换机 $ip
sshpass -p $p ssh root@$ip -o StrictHostKeyChecking=no
原文地址:http://sleeper.blog.51cto.com/4561333/1616901