Linux 批量建立信任关系,实现ssh无密码登陆的脚本

作用:

把当前机器的ssh公钥复制到其他机器,以实现从当前机器可以ssh无密码登陆到其他机器

使用方法:

1)把要添加的ip地址写入到一个文件中,比如host

2)把脚本保存为sh文件,如 install_ssh.sh 设置可执行权限

3)改写脚本中的密码设置,目前只支持固定几个密码。

4)  执行命令

sh install_ssh.sh <host

代码:

#!/bin/sh

auto_ssh_copy_id() {

local HOST=$1

local PASSWD=$2

expect -c "set timeout -1;

spawn ssh-copy-id [email protected]$HOST

expect {

*publickey* {exit 1;}

*(yes/no)* {send yes\r; exp_continue;}

*password* {send \"$PASSWD\r\"; exp_continue;}

** {send \"$PASSWD\r\"; exp_continue;}

}";

}

#eof {exit 0;}

passwd1=‘[email protected]‘

passwd2=‘[email protected]‘

passwd3=‘[email protected]‘

passwd4=‘123456‘

passwd5=‘asdasd‘

passwd6=‘12345‘

while read line; do

echo "$line" >&2

isSucceed=‘FALSE‘

for pw in $passwd1 $passwd2 $passwd3 $passwd4 $passwd5 $passwd6

do

if auto_ssh_copy_id "$line" $pw

then

isSucceed=‘TRUE‘

break;

fi

done

if [ $isSucceed != ‘TRUE‘ ]; then

echo ‘NOTSUCC‘ $line

fi

done

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-27 00:06:20

Linux 批量建立信任关系,实现ssh无密码登陆的脚本的相关文章

Linux 批量建立信任关系,实现ssh无password登陆的脚本

作用: 把当前机器的ssh公钥拷贝到其它机器.以实现从当前机器能够ssh无password登陆到其它机器 用法: 1)把要加入的ip地址写入到一个文件里.比方host 2)把脚本保存为sh文件,如 install_ssh.sh 设置可运行权限 3)改写脚本中的password设置.眼下仅仅支持固定几个password. 4)  运行命令 sh install_ssh.sh <host 代码: #!/bin/sh auto_ssh_copy_id() { local HOST=$1 local P

运用sshpass及脚本实现批量建立信任关系

1.http://sourceforge.net/projects/sshpass/ 2. #cd sshpass-1.05/ 3. #./configure && make && make install 4. #sshpass -p aixocm ssh 192.168.199.129直接登录 5. #sshpass -p aixocm scp sshpass-1.05.tar.gz  192.168.199.129:/lianxi 6.脚本实现批量建立单向信任 #vi

ssh两台机器建立信任关系无密码登陆

在建立信任关系之前先看看基于公钥.私钥的加密和认证. 私钥签名过程 消息-->[私钥]-->签名-->[公钥]-->认证 私钥数字签名,公钥验证 Alice生成公钥和私钥,并将公钥发送给Bob. Alice用自己的私钥生成签名,也就是加密. Alice将签名的信息发送给Bob. Bob用Alice的公钥进行解密,验证签名真伪. 公钥加密过程 消息-->[公钥]-->签名后的消息-->私钥-->解密后的消息 公钥加密,私钥解密 Bob生成自己的公钥和私钥,并将

ssh免密码登陆 - 服务器建立信任关系

假设机器A,B,C,要建立A为主,可以免密码直接ssh进入B,C.操作如下: 假设只用用户yimr建立信任,则使用yimr用户登陆主机A,执行如下操作: 产生公钥和私钥 ssh-keygen -t rsa 然后,在/home/用户/.ssh目录下,产生id_rsa, id_rsa.pub文件 将公钥复制到BC节点 scp .ssh/id_rsa.pub B:/home/用户名/.ssh/A.pub 进入BC节点,将公钥放在authorized_keys文件中 cat .ssh/A.pub >>

linux建立信任关系

(1).切换到需要建立信任关系的用户(2).执行命令:ssh-keygen  -d,然后一直回车.该命令会在用户home目录下生成一个隐藏的.ssh目录.目录里面有两个文件:id_dsa.id_dsa.pub这两个是密钥文件,id_dsa是密钥,id_dsa.pub是公钥(3).在.ssh目录下建立文件:authorized_keys(4).在主机vm2上面执行步骤1~3(5).将vm1主机的id_dsa.pub文件内容追加到vm2主机的authorized_keys(6).将vm2主机的id_

Oracle Study之-AIX6.1构建主机之间的信任关系(ssh)

Oracle Study之-AIX6.1构建主机之间的信任关系(ssh)    在AIX环境下构建主机信任关系首选rsh,但在构建Oracle 11g RAC时需要ssh支持,以下文档介绍如何在AIX6.1下构建ssh的信任关系.    默认aix没有安装ssh软件包,首先要安装ssh软件包: 1.下载.解压软件包 [[email protected] ssh]#lsOpenSSH_5.8.0.6102.tar.Z  openssl-0.9.8.1802.tar.Z  ssh.txt 解压后通过

解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系

今天写程序的时候调用到一个第三方的DLL文件,本机调试一切都正常,但是程序不是到服务器以后一直提示一个BUG:"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系". 后来把DLL文件进行反编译,发现是在获得请求的时候出错了. 引用 WebResponse response = WebRequest.Create("https://--").GetResponse(); 于是在服务器上用浏览器打开上面的地址,发现会弹出一个确认证书的窗口,看来是证书问题.

两个不同的林根域之间如何建立信任关系

标签:张兆森 步骤:DC的IP地址:192.168.1.1 (DC1) 域名为:benet.com 2.另一个林根域的IP地址:192.168.1.2 (DC2) DNS不要指向主DC了,因为这里跟主DC没有关系了, 3.安装DC 4.创建转发器 5.建立信任关系 实验步骤: 1.安装DC,选择在新林中新建域树 2.这里输入新域的域名 3.林功能选择最高. 4.这里就一直选择下一步,直到出现这 个提示,这里选择是 5.还是一直选择是,直到出现这里, 输入密码,这的密码是你误删DC上的数据, 还原

基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系

#region private static bool ValidateServerCertificate 解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系." /// <summary> /// 解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系." /// </summary> /// <param name="sender"></param&