源远流长

Linux SSH免密登录

Oct 16, 2024
74
0

生成密钥-默认

出现三个提示步骤,直接回车即可

看到下图的提示的时候,你已经生成密钥成功

979c8cb90b2f4e989b1fab49f6314926.png

ssh-keygen -t rsa

生成密钥-定制化

与默认的步骤一致,唯一不同的是命令,话不多说,上命令

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_new
  • -t rsa:指定密钥类型为 RSA。
  • -b 4096:指定密钥长度为 4096 位。
  • -f ~/.ssh/id_rsa_new:将新密钥保存为 id_rsa_new,这样就不会覆盖现有的 id_rsa 文件。

查看密钥文件目录

先进入到ssh文件夹

2f04bb1efb1e42b0ba41970536c54b31.png

.ssh/

查看ssh文件夹中的文件

看到 authorized_keys id_rsa id_rsa.pub 我们主要用到这三个文件

正常使用的是服务器生成ssh文件后,需要在个人机器上面也生成一份,然后把id_rsa.pub中的内容,复制到服务器的authorized_keys中,就可以实现免密登录了

  • id_rsa:私钥。
  • id_rsa.pub:公钥。

14ba622ec9b0405ab2b4569eba01d544.png

在客户端访问

看到以下内容,表示你已经配置成功了

200e864a25d04982b137bcb4999a2341.png

由于我的应用场景是CICD,所以不使用上面的方法

CICD - 我的示例场景

使用服务器的密钥当做免密密钥

把服务器生成的id_rsa当做我的密钥,直接把服务器的id_rsa.pub内容保存到authorized_keys中即可

下载服务器的id_rsa到本地客户端(使用的机器,一般为开发机器)

我的是windows机器,就以windows下载为例

语法解释:scp 用户名:服务器名称:.ssh/id_rsa 本地机器路径

下载好之后,根据你的实际应用场景配置密钥即可
0852ee823251424faddc8713757bc4b2.png

scp root@127.0.0.1:.ssh/id_rsa D:\

错误解决

问题1

9d85267d6bb24e1eb262aeee9d1125e9.png

出现图上的错误信息,是因为我们的证书权限太大,需要改一下权限

步骤一

id_rsa点击属性
fd1e05ac720e4d3dad6e8490c61486b7.png

步骤二

点击安全=>高级
17920784dcba44e2910dc9e02ab3ca9c.png

错误的效果如图:

379c249c21f444258f12ad9762c19f11.png

步骤三

先禁用继承=>从此对象中删除所有已继承的权限

7b3cbfa51ccf4449ae8e47d4a66d332f.png

步骤四

添加=>选择主题=>位置

dc318ef5364a420ebc33a6dad94455b6.png

步骤五

选择当前计算机后,点击确定

5f62a2e6354b4a24bb0ad383a6a3e8be.png

步骤六

按照红字描述修改后,一路确定.那么恭喜你,就不会有这个问题1的错误

9bd21789f471471c922cfdb7b33b4b28.png

资源下载

提示:如遇链接失效,请在评论区留言反馈