博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多台Linux服务器SSH相互访问无需密码
阅读量:5947 次
发布时间:2019-06-19

本文共 2012 字,大约阅读时间需要 6 分钟。

hot3.png

一、环境配置

1、系统: 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、系统:  release 4  IP:192.168.4.201  主机名:KT02

二、服务器配置

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

[root@jw01 .ssh]# ssh-keygen -t rsa

 [root@jw02 .ssh]# ssh-keygen -r rsa
 [root@kt01  .ssh]# ssh-keygen -t rsa
 [root@kt02  .ssh]# ssh-keygen -t rsa

Generating public/private rsa key pair.

 Enter file in which to save the key (/root/.ssh/id_rsa): #回车代表无需密码登陆
Enter passphrase (empty for no passphrase): #回车
Enter same passphrase again: #回车
Your identification has been saved in /root/.ssh/id_rsa. #代表私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. #代表公钥
The key fingerprint is:
 04:45:0b:47:10:92:0c:b2:b9:d7:11:5b:49:05:e4:d9 root@jw01

2、在每台服务器上将公钥复制到无需登录的服务器上,如192.168.4.200 /244/232/2014台做相互无需密码登录,在每台服务器生成密钥后,在每一台服务器上执行ssh-copy-id的命令;以192.168.4.200为例;其他三台服务器也是同样的操作;

例:192.168.4.200

 [root@jw01 ~]# cd ~/.ssh
 [root@jw01 .ssh]# ssh-copy-id -i  id_rsa.pub "-p 22 root@192.168.4.244"
 [root@jw01 .ssh]# ssh-copy-id -i  id_rsa.pub "-p 22 root@192.168.4.232"
 [root@jw01 .ssh]# ssh-copy-id -i  id_rsa.pub "-p 22 root@192.168.4.201"

root@192.168.4.244's password:              #输入密码

Now try logging into the machine, with "ssh '-p 22 root@192.168.4.244'", and check in:
 .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
以上信息出现就代表复制成功!

以上,可以自动将公钥添加到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文件在哪个用户的目录下。

转载于:https://my.oschina.net/mickelfeng/blog/738971

你可能感兴趣的文章
定制CentOS
查看>>
Android Eclipse 修改默认查看图片的打开方式
查看>>
CMake与动态链接库(dll, so, dylib)
查看>>
myeclipse(eclipse)乱码处理
查看>>
SpringBoot 过滤器, 拦截器, 监听器 对比及使用场景
查看>>
数据库索引探索
查看>>
MYSQl left join 联合查询效率分析
查看>>
struts2使用json需要注意的问题
查看>>
客户端的socket是否需要bind?
查看>>
Comparator进行排序
查看>>
IOS自动进行View标记
查看>>
cookie 和session 的区别详解
查看>>
Tomcat访问日志详细配置
查看>>
get请求传递中文参数乱码解决方法
查看>>
苦战 自由软件的今生前世
查看>>
搭建 Discuz 论坛
查看>>
Go语言的国际化支持(资源文件翻译)
查看>>
install oracle 11g on linux (centos6) 遇到的问题
查看>>
PhoneGap插件开发流程
查看>>
iOS设计模式——桥接模式
查看>>