Linux多个机器配置ssh免登陆
多机器ssh免密码登录的教程,网上有很多,多的数不过来,但是我的安装过程不是很顺利,因为刚开始使用的是普通的user,虽然配置了sudo权限,但是没有root权限,导致了无论如何配置都不能实现免密码登录。最后使用root账号操作了一次,顺利成功。
实现多个机器的ssh免密码登录的核心思想是把每一个机器的rsa公钥集中到一个文件中,并且把这个文件分发到所有的机器上面去。
本文中的机器有三个,如下所示:
172.16.129.8 master
172.16.129.12 slave1
172.16.129.13 slave2
具体操作如下(基于root用户):
Step 1:在master机器上面新建.ssh目录,产生rsa秘钥
master> cd /root
master> mkdir .ssh
master> cd .ssh
master> ssh-keygen -t rsa //之后一路回车,产生秘钥
master> cp id_rsa.pub authorized_keys
Step 2:在slave1机器上面新建.ssh目录,产生rsa秘钥,把master机器上面的authorized_keys拷贝到slave1机器上面
slave1> cd /root
slave1> mkdir .ssh
slave1> cd .ssh
slave1> ssh-keygen -t rsa //之后一路回车,产生秘钥
master> scp authorized_keys slave1:/root/.ssh //注意这个操作是在master机器上面完成的
slave1> cat id_rsa.pub>>authorized_keys
Step 3:在slave2机器上面新建.ssh目录,产生rsa秘钥,把slave1机器上面的authorized_keys拷贝到slave2机器上面
slave2> cd /root
slave2> mkdir .ssh
slave2> cd .ssh
slave2> ssh-keygen -t rsa //之后一路回车,产生秘钥
slave1> scp authorized_keys slave2:/root/.ssh //注意这个操作是在slave1机器上面完成的
slave2> cat id_rsa.pub>>authorized_keys
Step 4:把slave2机器上面的authorized_keys同步到master和slave1上面
slave2> scp authorized_keys master:/root/.ssh
slave2> scp authorized_keys slave1:/root/.ssh
到目前为止,就可以在每一个机器上面ssh访问另外两个机器了,第一次ssh的时候需要输入yes进行确认。
在一个shell中进行多机器切换:
假设当前在master机器上面,已经ssh到了slave1上面,那么如何在shell中回到master上面呢?如果想再次ssh到slave1上面,如何利用之前的ssh连接呢?
从slave1回到当前机器master:
输入~,之后按下CTRL + Z。注意:输入的~是不可见的。
在master中查看当前所有的ssh连接:
master> jobs
快速进入slave1机器:
mster> fg %1
好了,这样就可以轻松地管理多个linux机器了。
最新文章
- Spring(3)
- 编译gcc
- 解决git pull 命令失效,不能从远程服务器上拉取代码问题
- MonkeyRunner学习(1)测试连接
- go——beego的数据库增删改查
- SQL如何查询对应的object
- cmd下运行PowerShell命令
- OS X下开发!ios系统贪食蛇!——from cocos2d-x 3.0
- OpenCV码源笔记——RandomTrees (一)
- 如何利用putty的密钥登陆
- 两种计算和输出n内5要么9除尽互惠
- 关于ADB server didn't ACK * failed to start daemon *的问题
- 检测应用的内存泄漏情况(shell)
- Android okHttp网络请求库详解
- Array.from()
- [清华集训]小 Y 和恐怖的奴隶主
- JVM学习记录-对象已死吗
- 引擎设计跟踪(九.14.3.1) deferred shading: Depthstencil as GBuffer depth
- 多个Tomcat之间实现Session共享
- PHP:第二章——PHP中的switch语句