侧边栏壁纸
博主头像
福福不服博主等级

孩子会穿过大雨,去懂人间的道理。

  • 累计撰写 92 篇文章
  • 累计创建 98 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux禁止root密码登录使用密钥登录

Monster
2023-11-10 / 0 评论 / 2 点赞 / 39 阅读 / 4758 字 / 正在检测是否收录...
温馨提示:
请确保在评论和互动中保持礼貌和尊重。避免使用侮辱性、歧视性或攻击性语言。我们鼓励建设性的讨论和意见交流。

生成密钥

使用ssh-keygen生成密钥

ssh-keygen -t rsa

直接回车默认即可,你要设置密码也行到时候连接的时候就需要密钥+你设置的密钥才能连接。也可以修改密钥类型和位数等,自行搜索ssh-keygen语法类型了解。

[root@monster ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:N+MF5Jbwo8m/JA2ZXDtkaz6c+my6kKCOfdS7/FN0PhE root@monster
The key's randomart image is:
+---[RSA 2048]----+
|        . .      |
|         = .E    |
|          @  .   |
|       o X.=o    |
|    ..  S.Oo..   |
|   ..... X.*o    |
|  ..  o...X  .   |
| +  .....=.o     |
|. o.  oo=*+      |
+----[SHA256]-----+
[root@monster ~]# 

生成的密钥默认在/root/.ssh目录下,id_rsa(私钥)id_rsa.pub(公钥)

[root@monster ~]# cd /root/.ssh
[root@monster .ssh]# ls
id_rsa  id_rsa.pub
[root@monster .ssh]# 

将公钥id_rsa.pub复制或上传到你需要被连接的服务器,私钥id_rsa自己保留用来连接。

这里我不需要复制到其它服务器,就用当前云服务器操作(生产密钥任何服务器都行,不需要说哪台服务器需要用到就用哪台服务器去生成,包括现在很多客户端软件都支持一键生成密钥。)

将公钥写入authorized_keys文件,统一是在ssh目录下

[root@monster .ssh]# cat id_rsa.pub >> authorized_keys
[root@monster .ssh]# pwd
/root/.ssh
[root@monster .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub
[root@monster .ssh]# 

使用私钥登录

将私钥id_rsa下载到我们电脑上

我这里是MAC使用的Termius工具连接,设置你的服务器地址,ssh端口和用户名、上传我们的私钥或者复制私钥里面的内容复制出来粘贴。

各类客户端连接大同小异

保存连接测试,OK直接连进来了不需要输入密码

禁用密码和root账户登录

上面使用密钥可以正常登录了,但是现在也可以直接用账号密码登录服务器

禁用密码登录需要修改/etc/ssh/sshd_config 配置文件

vi /etc/ssh/sshd_config

找到PasswordAuthentication参数把yes改成no,即禁止使用密码登录服务器。

重启ssh服务

[root@monster ~]# systemctl restart sshd

原来使用密码的方式就登录不了服务器了

还有一个参数可以设置,那就是PermitRootLogin,此设置只针对root用户

将参数设置成prohibit-password,可以使用密钥登录命令权限也还在,

参数

ssh登录

登录方式

shell

yes

允许

没有限制

没有限制

prohibit-password/without-password(已弃用,但也能生效)

允许

除密码以外

没有限制

forced-commands-only

允许

密钥

仅允许已授权的命令

no

拒绝

PasswordAuthentication和PermitRootLogin区别

PasswordAuthentications:如果为no,则必须使用其他的身份验证方式,如公钥身份验证。

PermitRootLogin: 设置为 no 表示 不允许 root 用户远程访问。设置为 yes 表示允许 root 用户远程访问。设置为 prohibit-password 表示 不允许 root用户使用密码远程访问,但是可以用其他方式访问,比如密钥。

2
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  3. QQ打赏

    qrcode qq

评论区