bash,ssh username@hostname "command1; command2; command3",
“要使用脚本为多个远程服务器设置无密码SSH登录,可以按照以下步骤操作:
1. 生成SSH密钥对
在本地计算机上生成SSH密钥对,包括公钥和私钥,可以使用sshkeygen
命令生成密钥对:
sshkeygen t rsa
按提示操作,可以选择默认的文件路径和添加密码保护,生成后,公钥文件为~/.ssh/id_rsa.pub
,私钥文件为~/.ssh/id_rsa
。
2. 将公钥添加到远程服务器的authorized_keys
文件中
对于每个远程服务器,需要将本地计算机的公钥添加到远程服务器的~/.ssh/authorized_keys
文件中,可以使用sshcopyid
命令实现:
sshcopyid i ~/.ssh/id_rsa.pub 用户名@远程服务器IP
将用户名
和远程服务器IP
替换为实际的用户名和远程服务器IP地址,执行该命令后,会要求输入远程服务器的密码,输入正确的密码后,公钥将被添加到远程服务器的authorized_keys
文件中。
3. 测试无密码SSH登录
完成上述步骤后,可以尝试使用SSH命令无密码登录远程服务器:
ssh 用户名@远程服务器IP
如果一切正常,将无需输入密码即可登录远程服务器。
4. 编写脚本批量设置无密码SSH登录
如果需要为多个远程服务器设置无密码SSH登录,可以编写一个脚本来批量执行上述操作,以下是一个简单的示例脚本:
#!/bin/bash 定义服务器列表,每行包含用户名和服务器IP,用空格分隔 SERVER_LIST=" user1 192.168.1.100 user2 192.168.1.101 user3 192.168.1.102 " 遍历服务器列表,为每个服务器设置无密码SSH登录 while read r user server; do echo "设置无密码SSH登录: $user@$server" sshcopyid i ~/.ssh/id_rsa.pub $user@$server done <<< "$SERVER_LIST"
将上述脚本保存为setup_ssh.sh
,并赋予执行权限:
chmod +x setup_ssh.sh
然后运行脚本:
./setup_ssh.sh
脚本将自动为列表中的每个服务器设置无密码SSH登录。
分享文章:脚本ssh远程执行多条命令
网站路径:http://www.shufengxianlan.com/qtweb/news12/310862.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联