ssh实现多机互信

ssh(secure shell安全外壳协议)
SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

目的:实现远程管理和自动化运维。

远程登录需要用户名和密码登录,怎么才能免密码登录呢?
用ssh实现多机互信免密登录
生成密钥:ssh-keygen
传公钥:ssh-copy-id IP地址

我的理解:

在客户机中生成钥匙和锁(即生成密钥):ssh-keygen
客户机端的 .ssh目录下会生成:
私钥:id_rsa
公钥:id_rsa.pub
指纹信息:known_hosts
授权文件:authorized_keys文件是实现真正无密码连接,

装锁(给服务器(中某个用户)装锁):ssh-copy-id root@服务器的IP地址
(公钥信息保存在ssh服务器的/home/node1/.ssh/authorized_keys)
测试客户端连接服务端不需要密码:ssh root@服务器IP

SSH多机互信实战

实现目的,因为node11经常需要登录node12和node13,多次输入密码非常繁琐,所以做成node11登录node12和node13不需要密码(实现各主机相互之间登录不需要密码)

环境如下:

node11ip:192.168.11.11

node12ip:192.168.11.12

node13ip:192.168.11.13

node11:
ssh-keygen (一直回车即可)
ssh-copy-id 192.168.11.11

ssh实现多机互信

node12:
ssh-keygen
ssh-copy-id 192.168.11.11

ssh实现多机互信

node13:
ssh-keygen
ssh-copy-id 192.168.11.11

ssh实现多机互信

node11:
cat .ssh/authorized_keys
scp .ssh/authorized_keys 192.168.11.12:/root/.ssh/
scp .ssh/authorized_keys 192.168.11.13:/root/.ssh/
登录测试:
ssh 192.168.11.12
ssh 192.168.11.13

注:第一次登录要输密码

ssh实现多机互信

ssh实现多机互信

转载于:https://blog.51cto.com/14237756/2395970

配置SSH免密互信登录是一种常见的需求,特别是在自动化运维集群环境中。实现SSH免密登录的核心原理是使用公钥认证制。以下是详细的配置步骤: ### 1. 生成SSH密钥对 在客户端主上生成SSH密钥对(通常为`id_rsa``id_rsa.pub`)。如果密钥已经存在,可以跳过此步骤。 ```bash ssh-keygen -t rsa ``` 在生成密钥时,可以选择是否设置密钥密码。如果希望完全免密登录,则可以留空密码。 ### 2. 将公钥复制到目标主 使用`ssh-copy-id`命令将客户端的公钥复制到服务端的`~/.ssh/authorized_keys`文件中。假设客户端的IP为`192.168.240.1`,目标主的IP为`192.168.240.2`,并且目标主的用户名为`user`,则命令如下: ```bash ssh-copy-id user@192.168.240.2 ``` 此命令会自动将`~/.ssh/id_rsa.pub`文件内容追加到目标主的`~/.ssh/authorized_keys`文件中。 ### 3. 配置SSH服务端允许公钥认证 确保服务端的SSH配置文件`/etc/ssh/sshd_config`中包含以下设置: ```bash PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 ``` 修改配置后需要重启SSH服务以应用更改: ```bash sudo systemctl restart sshd ``` ### 4. 测试SSH免密登录 完成上述步骤后,可以通过以下命令测试免密登录: ```bash ssh user@192.168.240.2 ``` 如果一切正常,将直接登录目标主而无需输入密码。 ### 5. 处理常见问题 如果出现以下错误: ``` RSA host key for 192.168.1.131 has changed and you have requested strict checking. Host key verification failed. ``` 这意味着目标主SSH密钥发生变化,通常是由于目标主重新生成了密钥或更换了系统。可以通过以下方式解决: - 删除本地的已知主记录: ```bash ssh-keygen -R 192.168.1.131 ``` - 重新尝试连接,系统会提示是否接受新的主密钥。 ### 6. 配置双向免密登录 如果需要实现双向免密登录(例如A免密登录B,同时B免密登录A),则需要在两台主上分别执行上述步骤。具体来说: - 在A上生成密钥,并将公钥复制到B。 - 在B上生成密钥,并将公钥复制到A。 这样,两台主即可实现互信免密登录。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值