多台服务器相互无密码访问

多台服务器相互无密码访问,与两台服务器单向无密码访问的原理是一样的,只不过由于是多台服务器之间相互无密码访问,不能象两台服务器无密码登录那样直接上传,步骤如下:

1、在每台服务器上都执行ssh-keygen -t rsa生成密钥对:
#ssh-keygen -t rsa

2、在每台服务器上生成密钥对后,将公钥复制到需要无密码登陆的服务器上:
举例如192.168.15.240,192.168.15.241,192.168.15.242这三台服务器需要做相互免密码登陆,在每台服务器生成密钥对后,在每台服务器上执行ssh-copy-id命令(具体说明及用法见最后附录),将公钥复制到其它两台服务器上(此处以192.168.15.240为例,用户为root,其它两台步骤相同)
#ssh-copy-id -i  ~/.ssh/id_rsa.pub root@192.168.15.241
#ssh-copy-id -i  ~/.ssh/id_rsa.pub root@192.168.15.242
以上命令,可以自动将公钥添加到名为authorized_keys的文件中,在每台服务器都执行完以上步骤后就可以实现多台服务器相互无密码登陆了
附ssh-copy-id介绍及用法:

Linux系统里缺省都包含一个名为ssh-copy-id的工具:

# type ssh-copy-id
ssh-copy-id is /usr/bin/ssh-copy-id

你用cat或者more命令看一下就知道ssh-copy-id本身其实就是一个shell脚本,用法很简单:

# ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

再也不用记如何拼写authorized_keys这个文件名了,是不是很爽,可惜别高兴太早了,ssh-copy-id有一个很要命的问题,那就是缺省它仅仅支持SSH运行在22端口的情况,不过实际上出于安全的需要,我们往往都会更改服务器的SSH端口,比如说改成10022端口,这时候你运行ssh-copy-id就会报错了,直接修改ssh-copy-id脚本当然可以修正这个问题,但是那样显得太生硬了,实际上还有更好的办法:

# vi ~/.ssh/config

加上内容:

Host server
Hostname ip
Port 10022

你也可以单独只加入Port一行配置,那样就是一个全局配置,保存后再运行ssh-copy-id命令就不会报错了。

补充:经网友提示,如果端口不是22,不修改config文件,按如下方式也可以:

ssh-copy-id -i ~/.ssh/id_rsa.pub “-p 10022 user@server

### 多台Linux服务器间配置无密码SSH连接 为了实现多台Linux服务器之间无需输入密码即可相互访问,通常采用基于公钥的身份验证机制。这种方式不仅提高了安全性,还简化了自动化脚本和批量操作中的身份认证过程。 #### 创建并分发SSH密钥对 首先,在源主机上生成一对SSH密钥(如果尚未存在),这可以通过`ssh-keygen`命令完成: ```bash ssh-keygen -t rsa -b 4096 ``` 此命令会提示指定保存私钥的位置以及设置passphrase;对于自动化的场景,默认位置通常是合适的选择,并且可以为空passphrase以便真正实现免交互登录[^1]。 接着,将生成的公钥复制到目标机器上的授权文件中。假设要从`SSHTest001`向其他所有节点建立信任关系,则执行如下命令: ```bash ssh-copy-id root@SSHTest002 ``` 上述指令会把本地用户的`.ssh/id_rsa.pub`追加至远程主机对应账户下的`.ssh/authorized_keys`里去[^3]。 #### 批量处理多个目标 当面对众多待配置的目标时,可编写简单的Shell循环来加速部署工作: ```bash for host in $(cat hosts_list); do echo "Setting up $host..." ssh-copy-id user@$host done ``` 这里假定有一个名为`hosts_list`的文字列表包含了所有需要配置的IP地址或主机名。这段脚本能依次遍历每一项,并调用`ssh-copy-id`工具完成相应设定。 另外值得注意的是,在初次尝试连接新的远程主机之前,可能会遇到关于确认主机真实性的警告信息。此时只需按照屏幕指示输入“yes”,之后该条记录会被加入到已知主机(`~/.ssh/known_hosts`)之中。 一旦完成了以上步骤,即可以在这些经过配置后的Linux系统之间自由穿梭而不再受到繁琐密码请求的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值