前段时间有了服务器权限,但是每次ssh链接都要去复制粘贴密码,很麻烦 遂查阅资料搞了这一套ssh的免密登陆方式
- 安装expect
apt install expect
- 编写脚本
#!/bin/bash
# ssh 连接方法,开启ssh-agent
auto_connect() {
#使用expect实现密码自动输入
expect -c "
set timeout 20
spawn ssh $1
expect '*password:'
send $2\r
send '\r'
interact
"
}
PASSWORD="password"
SERVER="root@192.168.1.1"
#
# 使用时,可根据编号,自主选择要连接的服务器
#
echo '请选择要连接的服务器:'
echo '1) a'
echo '2) b'
read num
case $num in
1)
SERVER="root@192.168.1.1"
auto_connect ${SERVER} ${PASSWORD};;
2)
SERVER="root@192.168.1.2"
auto_connect ${SERVER} ${PASSWORD};;
*)
auto_connect ${SERVER} ${PASSWORD};;
esac