使用ssh-keygen实现ssh无密码登录

时间:2021-09-21 03:51:12

ssh 是一个专为远程登录会话和其他网络服务提供安全性的协议。默认状态下ssh连接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修改后系统间切换可以避免密码输入和ssh认证。

一 登陆要连接的用户

例如,此例子中连接的用户为ke。执行命令:

  ssh-keygen

如下图所示,生成 公钥密钥 并保存在 .ssh中。其中id_rsa为密钥,id_rsa.pub为公钥。(修改公钥和密钥的名字,避免当我们要设置多个用户免密登陆时,文件重复引发错误,因为默认生成的密钥名字都为id_rsa ,公钥名字都为id_rsa.pub )。

使用ssh-keygen实现ssh无密码登录

使用ssh-keygen实现ssh无密码登录

二 对公钥和密钥进行重命名

使用 mv命令对公钥和密钥进行重命名,如下图所示。此处,我们将密钥 id_rsa 重命名为 id_rsa_ke,公钥id_rsa.pub 重命名为id_rsa_ke.pub 。(按自己的情况选择进行重命名咯~)

mv id_rsa di_rsa_ke
mv id_rsa.pub id_rsa_ke.pub

使用ssh-keygen实现ssh无密码登录

三 将公钥保存在要连接的服务器上

生成的公钥保存在要连接的服务器上,公钥的内容要拷贝到.ssh目录下的authorized_keys中。
在.ssh目录下创建 authorized_keys文件

touch authorized_keys

使用ssh-keygen实现ssh无密码登录

使用cat命令将公钥id_rsa_ke.pub重定向写入authorized_keys。 如上图所示:cat id_rsa_ke.pub authorized_keys

四 本地保存密钥

在本地进行配置,本地保存密钥,并在config内写入信息。
使用ssh-keygen实现ssh无密码登录
将公钥和密钥从服务器复制到.ssh目录下。
使用scp命令,该命令可以在两个linux主机之间复制文件。

命令基本格式:scp [可选参数] file_source file_target

scp ke@dp:.ssh/id_rsa* .

使用ssh-keygen实现ssh无密码登录

使用vim config 打开config文件。
使用ssh-keygen实现ssh无密码登录

修改config文件如下:
使用ssh-keygen实现ssh无密码登录