脚本ssh远程执行多条命令

要使用脚本为多个远程服务器设置无密码SSH登录,可以按照以下步骤操作:,1. 生成SSH密钥对,
,在本地计算机上生成SSH密钥对,包括公钥和私钥,可以使用
sshkeygen命令生成密钥对:,按提示操作,可以选择默认的文件路径和添加密码保护,生成后,公钥文件为
~/.ssh/id_rsa.pub,私钥文件为
~/.ssh/id_rsa。,2. 将公钥添加到远程服务器的
authorized_keys文件中,对于每个远程服务器,需要将本地计算机的公钥添加到远程服务器的
~/.ssh/authorized_keys文件中,可以使用
sshcopyid命令实现:,将
用户名
远程服务器IP替换为实际的用户名和远程服务器IP地址,执行该命令后,会要求输入远程服务器的密码,输入正确的密码后,公钥将被添加到远程服务器的
authorized_keys文件中。,
,3. 测试无密码SSH登录,完成上述步骤后,可以尝试使用SSH命令无密码登录远程服务器:,如果一切正常,将无需输入密码即可登录远程服务器。,4. 编写脚本批量设置无密码SSH登录,如果需要为多个远程服务器设置无密码SSH登录,可以编写一个脚本来批量执行上述操作,以下是一个简单的示例脚本:,
,将上述脚本保存为
setup_ssh.sh,并赋予执行权限:,然后运行脚本:,脚本将自动为列表中的每个服务器设置无密码SSH登录。,在脚本中,可以使用ssh远程执行多条命令,方法是将命令用分号隔开,如下所示:,,“
bash,ssh username@hostname "command1; command2; command3",“,sshkeygen t rsa,sshcopyid i ~/.ssh/id_rsa.pub 用户名@远程服务器IP,ssh 用户名@远程服务器IP,#!/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”,chmod +x setup_ssh.sh

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《脚本ssh远程执行多条命令》
文章链接:https://zhuji.vsping.com/467292.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。