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

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tscms/.ssh/id_rsa):
Created directory '/home/tscms/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tscms/.ssh/id_rsa.
Your public key has been saved in /home/tscms/.ssh/id_rsa.pub.

 

在每台服务器上生成密钥对后,将公钥复制到需要无密码登陆的服务器上 

举例如10.1.15.128,10.1.15.42,10.1.15.41这三台服务器需要做相互免密码登陆,在每台服务器生成密钥对后,

在每台服务器上执行ssh-copy-id命令,将公钥复制到其它两台服务器上(此处以10.1.15.128为例,用户为root,其它两台步骤相同)

$ ssh-copy-id -i  ~/.ssh/id_rsa.pub root@10.1.15.41
The authenticity of host '10.1.15.41 (10.1.15.41)' can't be established.
RSA key fingerprint is 7c:95:ec:4f:77:07:0a:26:df:0d:8a:31:89:31:d7:da.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.1.15.41' (RSA) to the list of known hosts.
reverse mapping checking getaddrinfo for bogon [10.1.15.41] failed - POSSIBLE BREAK-IN ATTEMPT!
tscms@10.1.15.41's password:
Now try logging into the machine, with "ssh 'tscms@10.1.15.41'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
$ ssh-copy-id -i  ~/.ssh/id_rsa.pub root@10.1.15.42
……

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 username@server_IP

ssh-copy-id有一个很要命的问题,那就是缺省它仅仅支持SSH运行在22端口的情况,不过实际上出于安全的需要,

我们往往都会更改服务器的SSH端口,比如说改成10022端口,这时候你运行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  username@server_IP”

解决常见错误

reverse mapping checking getaddrinfo for bogon [10.1.15.42] failed - POSSIBLE BREAK-IN ATTEMPT!

原因:ssh 登录的时候会做一系列安全检查,其中有一项是 主机名与ip地址是否能解析,如果解析不了就会报这个错误。

如果你有dns服务器 ,在服务器上做解析也行。总之,ping主机名必须解析到对应的ip地址,

解决方法一:在/etc/hosts 文件加上对方的主机名 ip地址,可以ping通主机名即可。
解决方法二:/etc/ssh/ssh_config /etc/ssh/sshd_config 修改这两个配置文件
GSSAPIAuthentication yes 改成 GSSAPIAuthentication no

 

 

设置多台机器linux服务器ssh相互无密码访问的更多相关文章

  1. 多台Linux服务器SSH相互访问无需密码--转

    一.环境配置 1.系统:CentOS release 5.6   IP:192.168.4.200   主机名:JW01 2.系统:CentOS release 5.9   IP:192.168.4. ...

  2. Linux下 两台机器文件/文件夹 相互拷贝

    Linux下 两台机器文件/文件夹 相互拷贝 设有两台机器 :A:*.101及 B:*.102. 把A下的.temp/var/a.txt拷贝到B机器的/text/目录下: 进入B机器:scp root ...

  3. SSH 无密码访问其它机器 和 Windows 上 putty 无密码访问 Linux 机器

    1. 从一台 Linux 机器(ubuntu1)上无密码访问其它机器(ubuntu2) (1)登录 ubuntu1 并切换到用户比如 s1 (2)运行 ssh-keygen -t rsa (3)运行c ...

  4. 使用Java管理千台规模Linux服务器_入门

    http://www.oschina.net/code/snippet_222919_11734 代码分享 当前位置: 代码分享 » Java  » 网络编程 搜 索   [饶过] 使用Java管理千 ...

  5. linu SSH 不在同一网段的两台机器如何通过ssh通信,SSH限制特定网段登陆的方法

    1. linu SSH 不在同一网段的两台机器如何通过ssh通信 https://blog.csdn.net/lhf19891003/article/details/39895763 https:// ...

  6. 闲置安卓设备搭建Linux服务器实现外网访问

    title: 闲置安卓设备搭建Linux服务器实现外网访问 这是我搭过的第一个博客系统,写贴纪念一下 待博主整理好思路,将今天所用到的全部分享! 好吧,我就是穷.富人靠科技,穷人靠变异.我这种穷人是真 ...

  7. linux操作系统-两台linux服务器SSH免密码登录

    A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), ip为192.168.100.247 ; A和B的系统都是Linux   在A上的命令 # ssh-keyg ...

  8. linux服务器ssh免密码登录

    假设有三台服务器的ip分别是10.9.1.101.10.9.1.102.10.9.1.103 修改hosts文件 分别修改三台服务器的hosts的文件(vi /etc/hosts), 在hosts文件 ...

  9. Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录

    1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...

随机推荐

  1. 高性能Java RPC框架Dubbo与zookeeper的使用

    https://blog.csdn.net/qq_38982845/article/details/83795295

  2. Codeforces Round #523 (Div. 2) F. Katya and Segments Sets (交互题+思维)

    https://codeforces.com/contest/1061/problem/F 题意 假设存在一颗完全k叉树(n<=1e5),允许你进行最多(n*60)次询问,然后输出这棵树的根,每 ...

  3. Linux下通过管道杀死所有与tomcat相关的进程

    先将正确的命令放上来: ps -ef | grep ps -ef将系统中运行的进程展示出来 选择带有tomcat的进程后同时去除自身带有grep的进程,毕竟本身运行的这条命令是与tomcat相关的 a ...

  4. 20) maven 项目结构:all in one

    这是最常见的项目结构 垂直结构 也是初学者常用的 也是小项目常用的 优点 全部代码在一个项目里,一目了然. 结构简单易于理解 一开始时小巧 缺点 随之而来的缺点也十分明显 前端项目,后端项目,接口项目 ...

  5. nginx调优操作之nginx隐藏其版本号

    1.nginx下载 下载网址:nginx.org 2.解压nginx [root@iZwz9cl4i8oy1reej7o8pmZ soft]# ls nginx-.tar.gz [root@iZwz9 ...

  6. 前端- html 和css

    html HTML 指超文本标签语言. HTML 是通向 WEB 技术世界的钥匙. html属性:所有标签的通用属性 html事件:On...html5加了很多事件 html视频/音频:处理音视频 h ...

  7. [ 9.10 ]CF每日一题系列—— 186A模拟处理字符串

    Description: 跟你两个不相同的字符串,问你能否将第一个字符串任意两个字母交换一次使得两字符串相同,YES or NO Solution: 一维模拟就好了 #include <iost ...

  8. java基础知识-比较运算符

    演示比较运算符 == : 判断两个值是否相等 != : 判断两个数是否不相等(不能写成<>) > :判断左边值是否大于右边值 < :判断左边值是否小于右边值 >= : 判 ...

  9. CSS 基础 例子 盒子模型及外边距塌陷

    我们通常设置的宽度和高度,是指盒子模型中内容(content)的宽度和高度.元素的高度,还要加上上下padding和上下border,元素整个盒子的高度还要加上上下margin:宽度类似计算. 注意: ...

  10. cocos游戏的例子(摘抄记录,非原创)

    3.1 搭建Cocos2d-JS v3.x 开发环境 下载所需的软件包 下载 Cocos Code IDE.目前 Cocos Code IDE 最新发布版本是 1.0.0-RC2.我们为什么 Coco ...