一、环境配置
1、系统:CentOS release 5.6 IP:192.168.4.200 主机名:JW01
2、系统:CentOS release 5.9 IP:192.168.4.244 主机名:JW02
3、系统:CentOS release 5.3 IP:192.168.4.232 主机名:KT01
4、系统:Red Hat release 4 IP:192.168.4.201 主机名:KT02
二、服务器配置
1、在每台服务器上都执行ssh-keygen -t rsa 生成密钥
[root@jw01 .ssh]# ssh-keygen -t rsa Generating public/private rsa key pair. |
2、在每台服务器上将公钥复制到无需登录的服务器上,如192.168.4.200 /244/232/2014台做相互无需密码登录,在每台服务器生成密钥后,在每一台服务器上执行ssh-copy-id的命令;以192.168.4.200为例;其他三台服务器也是同样的操作;
例:192.168.4.200 root@192.168.4.244's password: #输入密码 |
以上,可以自动将公钥添加到authorized_keys的文件中,在每台服务器都执行完以上的步骤就可以实现多台服务器无需密码相互访问了。
三、故障处理
1、如果ssh-copy-id 函数在远程服务器不存在;如下
[root@kt02 .ssh]# ssh-copy-id -i id_rsa.pub "-p 22 |
root@192.168.4.244" -bash: ssh-copy-id: command not found |
可以尝试用一下命令解决,直接复制本地的pubkey内容到远程服务器;
[root@kt02 .ssh]# cat ~/.ssh/id_*.pub | ssh root@192.168.4.244 'cat > .ssh/authorized_keys' |
四、登录SSH
1、登录远程服务器就不需要密码:
[root@kt02 .ssh]# ssh root@192.168.4.244 |
2、登录远程服务器有端口的需要添加端口-P
[root@jw02 .ssh]# ssh ken@223.73.125.198 -p 511190 |
3、你依然被要求输入远程服务器密码, 那说明你的用户在远程服务器上面没有足够的权限;请查看一下你的远程登录的用户以及authorized_keys文件在哪个用户的目录下。
本文出自 “&思远晨曦” 博客,请务必保留此出处http://kling.blog.51cto.com/3320545/1132800
微信公众号: 架构师日常笔记 欢迎关注!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)