Linux开启ssh密钥认证登入并禁用账户密码登入

1、首先在客户端生成密钥文件

[root@hspEdu01 ~]# ssh-keygen -t rsa #这里用的是root用户生成密钥
选项解释:
Enter file in which to save the key (/root/.ssh/id_rsa): #默认存放在此路径
Enter passphrase (empty for no passphrase): #是否需要设置密码,这里不设置密码,默认回车即可
Enter same passphrase again: #再次输入相同的密码短语,因为没有设置密码所以继续回车
#RSA 2048位加密

执行后在.ssh目录下生成了三个文件

id_rsa #私钥
id_rsa.pub #公钥
known_hosts #已知的对方公钥保存位置

接下来需要把本地生成的公钥上传到服务器端,这里使用scp方式上传

scp id_rsa.pub  root@10.0.0.201:/root

客户端的操作到此结束

2、将公钥导入到服务端用户的公钥数据库(想让哪一个用户登入,就导入到它的公钥数据库 )

公钥库数据库文件位置:.ssh/authorized_keys

#这里用root用户演示如果没有.ssh目录则需要手动创建

[root@ZJLY ~]# mkdir .ssh #创建
[root@ZJLY ~]# cat id_rsa.pub >> .ssh/authorized_keys #以追加的方式写入公钥数据库,是因为还需要存其他的公钥
[root@ZJLY ~]# chmod 600 .ssh/authorized_keys #必须改权限,因为SELinux会限制个人权限否则不能生效(关闭selinux也可以)

3、修改服务端ssh配置文件

vim /etc/ssh/sshd_config #编辑服务端ssh配置文件

PubkeyAuthentication yes #是否使用公钥验证
AuthorizedKeysFile      .ssh/authorized_keys #公钥保存位置

#既然已经开启公钥验证登入,那么应该 禁止密码验证登入 
PasswordAuthentication no #禁止密码验证登入

修改完需要重启ssh服务

systemctl restart sshd

接下来就可以ssh私钥免密登入了

即无法使用账户密码登入

Linux开启ssh密钥认证登入并禁用账户密码登入
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇