二、多台服务器相互无密码访问

多台服务器相互无密码访问,与两台服务器单向无密码访问的原理是一样的,只不过由于是多台服务器之间相互无密码访问,不能象两台服务器无密码登录那样直接上传,步骤如下:

1、在需要无密码登录远程服务器的机器上都要生成密码对:
在生成的过程中有几个选项让你输入密钥对的保存目录及输入私钥,直接enter(回车)就行了。
[root@mysqlcluster ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
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:
0e:4c:ec:e3:04:98:b0:71:00:91:75:57:ee:56:a1:82 root@mysqlcluster

执行上一步会在~/.ssh目录下生成两个文件id_rsa和id_rsa.pub, 其中id_rsa是私钥,保存在本机;id_rsa.pub是公钥,是要上传到远程服务器的。

2、在每台服务器上生成密钥对后,将公钥复制到需要无密码登陆的服务器上:
举例如192.168.15.240,192.168.15.241,192.168.15.242这三台服务器需要做相互免密码登陆,在每台服务器生成密钥对后,在每台服务器上执行ssh-copy-id命令(具体说明及用法见最后附录),将公钥复制到其它两台服务器上(此处以192.168.15.240为例,用户为root,其它两台步骤相同)
#ssh-copy-id -i  ~/.ssh/id_rsa.pub root@192.168.15.241
#ssh-copy-id -i  ~/.ssh/id_rsa.pub root@192.168.15.242
以上命令,可以自动将公钥添加到名为authorized_keys的文件中,在每台服务器都执行完以上步骤后就可以实现多台服务器相互无密码登陆了
附ssh-copy-id介绍及用法:

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 user@server

再也不用记如何拼写authorized_keys这个文件名了,是不是很爽,可惜别高兴太早了,ssh-copy-id有一个很要命的问题,那就是缺省它仅仅支持SSH运行在22端口的情况,不过实际上出于安全的需要,我们往往都会更改服务器的SSH端口,比如说改成10022端口,这时候你运行ssh-copy-id就会报错了,直接修改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 user@server

ssh多台主机之间不用密码远程的更多相关文章

  1. 两台主机之间单向Ping不通的问题

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 ...

  2. Linux两台主机之间建立信任(ssh免密码)

    背景: 有时候我们在两个主机之间复制文件的时候,提示输入密码,很不方便,那如何免密码复制呢?,就是使用通过linux公钥和秘钥,建立双机信任关系. 在整理之前,我先说下ssh免密码的要点 : 你想免密 ...

  3. ssh多台主机实现互相认证

    一.主机情况 如下图所示,集群一共11台机器.编辑每台主机的hosts文件,添加如下内容,方便统一管理. 10.202.62.60 hadoop60 10.202.62.61 hadoop61 10. ...

  4. Linux 系统多台主机之间做SSH免密码登陆

    SSH 免密登录 环境说明 CentOS 7.3 关键点 免密登录的关键点在于理解谁登录谁. A 生成的公钥给 B,也给 C.D,则 A 可以直接免密 SSH 登录 B.C.D A 生成密钥 在 A ...

  5. ssh免密码登陆(集群多台机器之间免密码登陆)

    1. 首先在配置hosts文件(每台机器都要) 进入root权限 vi /etc/hosts 添加每台机器的ip + 主机名,例如: 172.18.23.201 hadoop1 172.18.23.1 ...

  6. 通过一台服务器ssh多台主机远程修改网卡ip

    在多台服务器环境下,更改所有的ip地址,网关,一台一台的登录修改显得复杂繁琐.   知识点: 参考#https://www.cnblogs.com/youngerger/p/9104144.html ...

  7. ssh两台主机建立信任关系

    A主机(10.104.11.107)   B主机(10.104.11.128) A: ssh-keygen -t rsa [root@H0f .ssh]# ssh-keygen -t rsa Gene ...

  8. python实现两台不同主机之间进行通信(客户端和服务端)——Socket

    大家好,我是辰哥~ 今天教大家通过Python进行Socket网络编程 (做一个聊天程序) 可以实现在不同的主机(电脑)之间进行通话. 具体效果如何,接着往下看 可以看到客户端(上方)向服务器端(下方 ...

  9. 一个鼠标键盘控制两台甚至多台主机的方法--Synergy

    在多台主机,不同系统中操作.避免了更换键鼠的麻烦.即使下面图中的功能. 鼠标同时在三台或者多台主机之间进行移动,而且是无缝滑动,鼠标直接从左滑倒右,而且支持,这台电脑复制,另一台黏贴.非常的方便实用. ...

随机推荐

  1. python ----django---打包重用

    https://www.cnblogs.com/wcwnina/p/9122469.html https://blog.csdn.net/qq_30501975/article/details/804 ...

  2. java实现HTTP Basic认证

    这两天一直在调试EMQ的API,通过HTTP的GET请求,可以查询到订阅列表信息,在浏览器中测试时,需要输入用户名和密码,然后才能显示出结果,输错或者不输入会返回401错误. 通过浏览器输入用户名和密 ...

  3. Python初学(1)

    最近在学习python,以后想编写一些工作中用的到的脚本.python的入门我选择了<python从初学到入门>,这篇文章我会跟进我的学习进度.算是一个笔记吧. 我本身是熟悉C语言的,看p ...

  4. C++_注释、枚举、typedef

    #include<iostream> //using namespace std; int main() { /* ************************************ ...

  5. Springboot项目读取resource下的静态资源方法

    如果按相对路径直接读会定位到target下,因为springboot打包后读到这里 如果做单元测试的话是找不到文件的 File jsonFile = ResourceUtils.getFile(&qu ...

  6. activiti官网实例项目activiti-explorer之扩展流程节点属性2

    情景需求:需要查找activiti-explorer项目中获取流程id的方法,然后根据流程id获取相应字段在节点属性中添加内容. 大致流程:拿取整个流程id获取对应表单属性,在页面节点属性中展示对应表 ...

  7. 1.Sed | Awk | Grep | Find

    1.Sed | Awk | Grep | Find 可以参考的文档链接 CentOS7 查看 当前机器 已经启动的端口的Shell命令: netstat -lntup | awk -F' ' {'pr ...

  8. Java基础知识思维导图

     

  9. docker原理(转)

    可能是把Docker的概念讲的最清楚的一篇文章 [编者的话]本文只是对Docker的概念做了较为详细的介绍,并不涉及一些像Docker环境的安装以及Docker的一些常见操作和命令. Docker是世 ...

  10. Tensorflow的验证码识别

    最近在弄深度学习,从网上找了一些资料.这是基于Tensorflow的深度学习的验证码识别.https://cuijiahua.com/blog/2018/01/dl_5.html http://blo ...