Linux创建SSH密钥、设置密钥登录、密钥登录原理

Linux有2种登录方式:

  • 使用用户名加密码的登录方式;
  • 密钥登录;

密钥登录:

  • SSH登录是用的RSA非对称加密的,SSH密钥登录的时候可使用RSA密钥登录,SSH有专门创建SSH密钥的工具ssh-keygen

一般的密码方式登录,容易有密码被暴力破解的问题。

  • 将 SSH 的端口设置为默认的 22 以外的端口;
  • 禁用 root账户登录。
  • 通过密钥方式登录。

SSH密钥登录原理:

  • 利用密钥生成器制作一对密钥(一只公钥、一只私钥)。

  • 将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。

  • 没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。- - 如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。

  • cd到Linux用户目录下的.ssh目录下,root用户是/root/.ssh,普通用户是/home/用户名/.ssh; 执行: cd /home/普通用户名/.ssh或者 cd /root/.ssh

  • 执行ssh-keygen命令创建密钥对: ssh-keygen -t rsa

注意: 执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会提示。输入密钥的密码的(如下图,输入两次相同的,即是又一次确认密码),不需要密码直接回车就行。
在这里插入图片描述
Enter file in which to save the key (/root/.ssh/id_rsa):
#输入key的保存位置,直接回车即可。
Enter passphrase (empty for no passphrase):
#私钥口令,不需要的话直接回车。

  • 密钥生成后会在当前目录下多出两个文件,id_rsa、id_rsa.pub;
  • id_rsa:私钥(一般不外泄);
  • id_rsa.pub:公钥;
    在这里插入图片描述
    普通用户则还需要注意权限问题:
    chmod 700 /home/普通用户/.ssh
    chmod 600 /home/普通用户/.ssh/新建或者已存在用来保存公钥的文件

把公钥拷贝到需要登录的远程服务器上,这里可以使用ssh-copy-id自动完成。例如: for i in {1..3}; do ssh-copy-id ceph$i; done

设置 SSH,打开密钥登录功能,以root用户来操作,
vi /etc/ssh/sshd_config

RSAAuthentication yes 
PubkeyAuthentication yes 
PermitRootLogin yes ##root 用户能否通过 SSH

当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录:

PasswordAuthentication no

在这里插入图片描述

重启 SSH 服务:
systemctl restart sshd
service sshd restart

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

偷偷学习被我发现

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

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

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

打赏作者

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

抵扣说明:

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

余额充值