开发者社区> funnyzhang> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SSH配置—Linux下实现免密码登录

简介: 首先,假设我们有两台服务器,服务器名称分别是 master 和 slave1,我们现在需要做的就是在服务器 master 上面登录 服务器 slave1 不需要输入密码就可以登录成功,如下图所示。   下面开始我们的配置步骤 1、服务器 master 上生成密钥 可以通过使用 ssh-keygen 命令来生成,我们可以先使用 man 命令或者是 help 命令查看具体需要哪些参数以及具体信息。
+关注继续查看

首先,假设我们有两台服务器,服务器名称分别是 master 和 slave1,我们现在需要做的就是在服务器 master 上面登录 服务器 slave1 不需要输入密码就可以登录成功,如下图所示。

 

下面开始我们的配置步骤

1、服务器 master 上生成密钥

可以通过使用 ssh-keygen 命令来生成,我们可以先使用 man 命令或者是 help 命令查看具体需要哪些参数以及具体信息。

 

通过执行命令 ssh-keygen -t rsa 来生成我们需要的密钥。

 

执行上面的命令时,我们直接按三次回车,之后会在用户的根目录下生成一个 .ssh 的文件夹,我们进入该文件夹下面并查看有哪些内容。

 

我们看到有四个文件,下面分别解释下每个文件是干什么用的。

authorized_keys: 存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥。

id_rsa: 生成的私钥文件

id_rsa.pub: 生成的公钥文件

known_hosts: 已知的主机公钥清单

 

2、远程密钥登录

这里介绍最常用的三种方式,一是通过 ssh-copy-id 命令,二是通过 scp 命令,三是手工复制。

 

方式一,通过 ssh-copy-id 命令设置。最后一个参数是我们要免密钥登录的服务器 ip 地址。

ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100

 

 

方式二,通过 scp 命令直接将该文件远程复制过去,使用这种方式需要注意,如果你之前已经配置了其它服务器上的密钥,这是使用这种方法,就会覆盖掉你原来的密钥,这时候是不建议使用这种方式的,如果你是先将该文件复制到服务器上的一个目录下,然后在使用追加的方式,将密钥追加到 authorized_keys 也是完全 OK 的。如果你只有两台服务器也是可以直接复制到文件。

scp -p ~/.ssh/id_rsa.pub root@<ip>:/root/.ssh/authorized_keys

 

 

方式三,通过手工复制。将本地 id_rsa.pub 文件的内容拷贝至远程服务器的 ~/.ssh/authorized_keys 文件中也完全可以的。先使用 cat 命令查看当前的公钥,然后复制,在到目标服务器上去粘贴。

 

以上步骤,我们就完成了免密钥登录,下面我们来进行验证。

 

到此,我们的 ssh 免密钥登录就大功告成。下面给大家说说免密钥登录的原理,有兴趣的可以看看。

 

首先来看下原理图

 

 

1、ssh 客户端向 ssh 服务器端发送连接请求

2、ssh 服务器端发送一个随机的信息

3、ssh 客户端使用本地的私钥对服务器端发送过来的信息进行加密

4、ssh 客户端向服务器端发送加密过后的信息

5、ssh 服务器端使用公钥对该信息进行解密

6、若解密之后的信息和之前发送的信息匹配,则信任客户端,否则不信任。

 

 

PS:如果觉得文章不错的话,还请大家点赞分享下,算是对我的最大支持。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
H-P
ssh无密码登录
ssh是一种远程会话协议,通过默认的22号端口对服务器进行登录管理。
66 0
ssh 免密码登录
简介 好几天没有写东西了,也不知道可以写什么,如果有好玩的东西,欢迎联系我 为什么需要ssh免密码登录,有的人说没有密码认证那么不就不安全了吗,所有人都可以用你的电脑去登录你的服务器,没错但是需要知道一点的是除了你的机器可以登录你的服务器,其他的机器是不可以登录你的服务器的所以相对 来说总不可能有俄罗斯黑客用字典爆破了你的密码登录你的服务器的情况了把,所以相对来说,这种方式是安全的,因为你只需要保护好你的个人电脑不被黑客偷走,其他的密码要不要复杂密码会不会被爆破掉就不用担心了。
1023 0
SSH免密码登录
背景:两台电脑,ip分别为:5, 10(简称) 目的:ip地址5服务器通过ssh远程访问10.无需输入密码 1、首先在5上生成密钥对。
558 0
ssh 免密码登录
注意:如果A机器需要免密码登录B机器,则需要把A机器的公钥id_rsa.pub 加到 B机器的authorized_keys,不要弄反了 ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。 1.在A机
1708 0
两个SSH2间免密码登录
OpenSSH登录SSH2.pdfSSH2免密码登录OpenSSH.pdfSSH2间免密码登录.pdf 以下针对的是ssh2,而不是ssh,也不是OpenSSH。配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。
719 0
+关注
funnyzhang
公众号「funnyZhang」。后端,职场,思维,分享大数据和Java 相关的知识。
27
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载