多台LINUX主机SSH登录密钥认证的配置
2018-02-05 09:56
274 查看
首先在服务器上生成密钥,ssh-keygen -t rsa,输入密码等,或留空,例如生成了/root/.ssh/id_rsa_cenosb.pub文件
将要SSH远程连接的所有主机的IP,用户名,密码写在同一目录的pwd.txt,以空格作为分隔符,搞定以后可以删除
脚本如下
#!/bin/bash
a=`cat /root/.ssh/id_rsa_cenosb.pub`
cat pwd.txt | while read line
do
hostip=`echo $line | cut -d" " -f1`
uname=`echo $line | cut -d" " -f2`
pwd=`echo $line | cut -d" " -f3`
/usr/bin/expect <<-EOF
set time 30
spawn ssh $uname@$hostip
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$pwd\r" }
}
expect "*#"
send "echo $a >> /root/.ssh/authorized_keys\r"
expect "*#"
send "exit\r"
interact
expect eof
EOF
#echo "$pwd"
done
将要SSH远程连接的所有主机的IP,用户名,密码写在同一目录的pwd.txt,以空格作为分隔符,搞定以后可以删除
脚本如下
#!/bin/bash
a=`cat /root/.ssh/id_rsa_cenosb.pub`
cat pwd.txt | while read line
do
hostip=`echo $line | cut -d" " -f1`
uname=`echo $line | cut -d" " -f2`
pwd=`echo $line | cut -d" " -f3`
/usr/bin/expect <<-EOF
set time 30
spawn ssh $uname@$hostip
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$pwd\r" }
}
expect "*#"
send "echo $a >> /root/.ssh/authorized_keys\r"
expect "*#"
send "exit\r"
interact
expect eof
EOF
#echo "$pwd"
done
相关文章推荐
- linux 多台 主机的免登录ssh的配置
- jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录
- jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录
- 多台Linux主机无需密码直接连接的SSH配置
- Mac下配置远程Linux 服务器SSH密钥认证自动登录
- Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录
- ssh配置公私钥远程登录Linux主机
- 课下参考四 配置并使用ssh登录LINUX的主机--windows篇
- Mac OS下配置远程Linux 服务器SSH密钥认证自动登录
- Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录
- Linux多台服务器间SSH免密码登录配置
- linux下设置ssh无密码登录 ssh配置
- [原]Linux使用密钥认证登录SSH
- Unix/Linux ssh配置无密码登录
- linux配置SSH协议免登录密码
- linux之ssh互信配置(无密码登录)
- 配置Linux主机SSH无密码访问
- 为什么使用SecureCRT或者putty通过ssh登录Linux主机很慢
- Linux下没有网线的情况下,从主机使用SSH登录虚拟机
- linux下简单SSH登录配置