SSH 免密码登录

背景说明

SSH 登录有两种方式:

  1. 密码登录
  2. 密钥登录

SSH 中常常使用两种算法 RSA 与 Ed25519 ,以前存在其它算法,但是被正式证明不安全,现在普遍都是这两种算法。

Ed25519 是一种椭圆曲线加密算法,具有较高的安全性和效率,并且比 RSA 更安全些,以下使用 Ed25519 算法生成密钥对,以实现 SSH 免密码登录。

生成密钥对

ssh-keygen -t ed25519 -f id_ssh  -C "mail"

// 参数说明
-t: 指定要生成的密钥类型。在本例中,-t ed25519 表示生成 Ed25519 密钥。
-f: 指定密钥文件的名称。在本例中,-f id_ssh 表示将生成的文件命名为 id_ssh。
-C: 添加注释到密钥文件中。在本例中,-C "mail" 表示添加注释 "mail" 到密钥文件中。

image-20240308215042703

输入以上命令后,会提示是否为密钥进行加密,直接 Enter 就是不对密钥进行加密。

image-20240308215223873

然后在当前路径下,便会存在与之相关的两个文件

  • id_ssh : 私钥
  • id_ssh.pub : 公钥

向当前用户添加公钥

将公钥复制到用户根目录下的 .ssh/authorized_keys 文件中。

cat id_ssh.pub >> ~/.ssh/authorized_keys

修改 sshd 配置

vim /etc/ssh/sshd_config

将 PasswordAuthentication 修改为 no,PubkeyAuthentication 修改为 yes

image-20240308220043575

上图参数说明:

  • PermitRootLogin:是否允许 root 用户通过 SSH 登录。
  • PasswordAuthentication:是否允许使用密码进行 SSH 登录。
  • UseDNS:是否在 SSH 登录过程中使用 DNS 解析。
  • RSAAuthentication:是否允许使用 RSA 密钥进行 SSH 登录。
  • PubkeyAuthentication:是否允许使用公钥进行 SSH 登录。

注意事项

  • 如果关闭 UseDNS 将无法使用域名进行登录服务器。

  • .ssh 文件夹的权限为:700

  • authorized_keys 文件权限为:600

    chmod 700 .ssh
    chmod 600 authorized_keys
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初原挽风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值