批量操作SSH账户信任

#!/bin/bash

auto_ssh_key () {

expect -c "

set timeout -1;

spawn ssh-copy-id -i $path/.ssh/id_rsa $1;

expect {

*yes/no* {

send -- yes\r

expect *assword*

send -- $2\r;

expect {

*denied* {exit 2;}

eof

}

}

*assword* {

send -- $2\r;

expect {

*denied* {exit 2;}

eof

}

}

eof

}

"

}

echo ‘

-------------------- Directions for use --------------------

| Internal IP using examples:                                |

|       please input port: 10 15 29 21 21                    |

| External use IP example:                                   |

|       please input port:  8.8.8.8 google.xxx.com            |

|                                                            |

| please input port:                                         |

|       A null value as the default port 22                  |

|                                                            |

| please input username:                                     |

|       A null value as the current user                     |

------------------------------------------------------------

path=`grep $(whoami) /etc/passwd | awk -F ‘:‘ ‘{print $6}‘`

read -p "please input ip:" ip

read -p "please input port:" port

read -p "please input username:" username

read -s -p "please input password:" password

# 判断是否指定端口, 默认为22

if [ -z $port ];then

port=‘22‘

fi

# 判断是否指定用户名, 默认为当前账号

if [ -z $username ];then

username=$(whoami)

fi

# 检测输入的IP是内部还是外部机器

data_size=`echo $ip | awk -F " " ‘{print $1}‘|wc -L`

if [ $data_size -lt 4 ];then

for i in $ip

do

auto_ssh_key ‘"-p ‘$port‘ ‘$username‘@10.0.0.‘$i‘"‘ $password

done

else

for i in $ip

do

auto_ssh_key ‘"-p ‘$port‘ ‘$username‘@‘$i‘"‘ $password

done

fi

时间: 2024-10-13 12:32:35

批量操作SSH账户信任的相关文章

增加ssh无密码信任连接的安全性

为了方便系统管理或者服务器运维自动化,我们通常要在服务器间做ssh无密码信任连接. 环境:目标主机    centos7    192.168.150.110操作主机    centos7-cn 192.168.150.76    第三主机    centos7-en 192.168.150.81 一.我们经常是这么做的网上的教程大多数是这样的.在操作主机上,创建密钥: [[email protected] ~]# ssh-keygen -t rsa Generating public/priv

ssh添加信任关系,使ssh,scp命令不需要 输入密码验证

简单的说明一下方法: 首先在本机上敲命令:ssh-keygen -t sra    \生成rsa的密钥 (这 个命令生成一个密钥对:id_rsa和id_rsa.pub.他们默认被保存在~/.ssh/目录下.可以将id_rsa.pub改名为 local_rsa.pub以免与远程主机上的id_rsa.pub重名.在生成过程中会要求输入pass phrase,这个是用来保护私钥的使用的,即每次你使用私钥的时候需要先输入这个密码,因此这里不要输入任何字符,直接回车.) 把生成的公钥拷贝到需要的机器上的/

服务器上搭建使用SSH账户登录的Git仓库

1.安装git yum install -y git 2.创建git仓库保存的目录 mkdir /data/git_repo 3.初始化空仓库 cd /data/git_repogit init --bare --shared example.git 4.客户端使用SSH账户访问服务器仓库 git clone ssh://[ssh账户名]@[服务器域名或IP]/data/git_repo/example.git 然后要求输入[ssh账户名]对应的密码,输入正确的密码即可访问仓库

SSH相互信任配置

具体配置: 前题需要关闭iptables和SELinux 1.打开ssh配置文件,启用以下选项 vim /etc/ssh/sshd_config RSAAuthentication yes   #允许RSA认证 PubkeyAuthentication yes  #允许公钥认证 AuthorizedKeysFile      .ssh/authorized_keys  #公钥存放地址 #PermitRootLogin yes 如果要以root身份ssh互信登陆,此选项目一定不要启用 2.重启ss

linux ssh单向信任及多节点互信

通常在linux下使用ssh的时候我们需要目标机器开启了sshd的服务然后用 ssh客户端连接过去以指定的用户去登陆上去,正常情况下我们需要输入登陆密码才可以 成功登陆,但是在使用集群或者类似场景下我们有很多的的机器需要通过ssh间相互随机的访问,如果一个一个的输入密码那太繁琐了.由此我们就需要建立免密钥的登陆方式. 单向信任配置 A服务器:192.168.0.101 B服务器:192.168.0.102 要求B服务器能免密码访问A服务器 B服务器上的操作: [[email protected]

建立SSH的信任关系

1.在Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书. Client端 # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): <-- 直接输入回车 Enter same passphrase ag

第2次增加ssh 主机信任脚本

dr-mysql01:/root# cat a1.sh #用户名 uname="$1" #密码 passwd="$2" #执行检测并安装expect模块 ep=`rpm -qa | grep expect` if [ -z $ep ] ; then echo "检测到你的系统,没有安装expect模块,准备执行安装" sleep 2 yum install -y expect else echo "已经安装expect模块,3秒后,开始

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 解压后通过

linux主机之间建立ssh信任关系

需求: hostA 要免密码ssh登入 hostB,即建立ssh信任关系 实施: 1.hostA:在~/.ssh,创建ssh密钥对 执行命令 ssh-keygen -t rsa (要求输入的位置直接回车),默认生成密钥对文件 id_rsa 和 id_rsa.pub 2.hostB:在~/.ssh,修改信任文件authorized_keys 把 hostA 的公钥文件 id_rsa.pub 追加到 hostB 的~/.ssh/authorized_keys文件中 验证: hostA 要免密码ssh