资讯专栏INFORMATION COLUMN

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

Jrain / 2988人阅读

摘要:存放远程免密登录的公钥主要通过这个文件记录多台机器的公钥。最后一个参数是我们要免密钥登录的服务器地址。到此,我们的免密钥登录就大功告成。下面给大家说说免密钥登录的原理,有兴趣的可以看看。


首先,假设我们有两台服务器,服务器名称分别是 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@:/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:如果觉得文章不错的话,还请大家点赞分享下,算是对我的最大支持。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23745.html

相关文章

  • SSH配置Linux实现密码登录

    摘要:存放远程免密登录的公钥主要通过这个文件记录多台机器的公钥。最后一个参数是我们要免密钥登录的服务器地址。到此,我们的免密钥登录就大功告成。下面给大家说说免密钥登录的原理,有兴趣的可以看看。 showImg(https://segmentfault.com/img/bVbaJiY?w=1222&h=636);首先,假设我们有两台服务器,服务器名称分别是 master 和 slave1,我们...

    stefanieliang 评论0 收藏0
  • Linux 使用 SSH 登录的不同姿势

    摘要:而密钥验证则是依赖客户端服务端之间的公私钥加解密方式,故不存在中间人攻击中间人没有任何一端的私钥,但同时整个过程需要相对较长的时间。 一、背景概述 ssh 这个命令算作是学习 Linux 时最基础的命令之一了。之前使用 ssh 时,都是通过用户名 + 密码的形式进行登录的。之前写 TransFile-Shell 小工具[[1]](https://gitee.com/lwx1996042...

    CoderBear 评论0 收藏0
  • linux系统配置密码登录

    摘要:进行服务器管理的时候,经常需要登录进去,每个服务器都需要记住和输入对应的用户名和密码,是非常麻烦的。所以这里配置一下服务器免密码进行登录,方便我们进行管理演示配置环境客户端。若没有该文件可以手动创建该文件。 进行linux服务器管理的时候,经常需要登录进去,每个服务器都需要记住和输入对应的用户名和密码,是非常麻烦的。 所以这里配置一下服务器免密码进行登录,方便我们进行管理 演示配置...

    wuaiqiu 评论0 收藏0
  • Mac OS X上如何实现Linux主机的ssh登陆

    摘要:所谓的免登陆其实是不存在的,只是说,从验证密码的登录方式,改为公私钥对的登录验证方式。下一步,就是把公钥拷贝到目标主机上。你今后要用哪个帐户登录主机,就在哪个帐户的目录下操作,如果要免登陆,就要去下操作。前面我在我的 代码笔记本过 如何用MAC 的 终端 软件链接 linux 服务器。但是吧,对我来说,这样的操作太麻烦了,不习惯。 本文要讲的,就是如何简化从Mac登录Linux主机的操作步...

    sshe 评论0 收藏0
  • centos配置ssh密码登录后,仍提示输入密码

    原文地址:在这里 第一步:在本机中创建秘钥 1、执行命令: ssh-keygen -t rsa -C xx@qq.com (随便编个字符串,一般用邮箱) 2、之后一路回车就行啦;会在~(home)目录下中产生.ssh(隐藏)文件夹;3、里面有两个文件id_rsa(私钥)、id_rsa.pub(公钥)文件注意事项:①在liunx环境下,要想复制公钥或是私钥,不要使用vim等编辑器打开文件来复制粘贴...

    J4ck_Chan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<