一、环境配置

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
[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文件在哪个用户的目录下。

本文出自 “&思远晨曦” 博客,请务必保留此出处http://kling.blog.51cto.com/3320545/1132800

最新文章

  1. [转] Java序列化与反序列化
  2. (ETW) Event Tracing for Windows 入门 (含pdf下载)
  3. Android之访问下载文件
  4. SSL构建单双向https认证
  5. DLL中传递STL参数,vector对象作为dll参数传递等问题(转)
  6. Anaconda spyder 设置tab键为2个空格
  7. BZOJ 1854: [Scoi2010]游戏(二分图匹配/并查集)
  8. ubuntu 下配置munin
  9. 拦截器实现HandlerInterceptor没有提示实现里面的方法
  10. 20135323符运锦期中总结----Linux系统的理解及学习心得
  11. [Big Data - ZooKeeper] ZooKeeper: A Distributed Coordination Service for Distributed Applications
  12. IDEA各个版本激活(亲测有效,永久有效)(转)
  13. this 关键字 详解
  14. Android 实现 WheelView
  15. -webkit-margin-before
  16. PyQt4日历部件QXalendarWidget
  17. 利用GoAccess分析Nginx访问日志
  18. JavaWeb项目中各个文件夹的作用
  19. 2017.11.21 查询某个字段为null的记录
  20. Springboot中jar 重复冲突 导致 静态资源加载问题!

热门文章

  1. web前端优化-温故知新系列(1)
  2. Python脚本控制的WebDriver 常用操作 <二十二> 处理alert / confirm / prompt
  3. 自己常用的js方法
  4. Android Studio工程导入另一个工程作为lib
  5. CI支持各种文件上传-文件类型(Linux + window)
  6. ClassLoader, JavaAgent, Aspectj Weaving一站式扫盲帖
  7. mlock家族:锁定物理内存
  8. url 中文编解码
  9. iOS 详解NSXMLParser方法解析XML数据方法
  10. 转载Jquery中的三种$()