centos7登录改用证书ssh

经常需要连接到服务器时,每次都使用 ssh user@hostname,会特别烦琐,并且使用用户名密码登录也有一定的风险。这里说一下通过证书登录到服务器的方式。

1. 生成 SSH 密钥和公钥,并配置相应权限
首先登录到服务器,生成 SSH 的密钥和公钥

ssh-keygen -t rsa

将公钥添加到 authorzied_keys 文件中

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

修改 authorized_keys 权限为 644,.ssh 权限为700

chown -R 700 ~/.ssh
chown -R 644 ~/.ssh/authorized_keys

注:如果当前登录用户是普通用户,则需使用 chmod 调整权限

chmod -R 700 ~/.ssh
chmod -R 644 ~/.ssh/authorized_keys

查看修改后的权限

ll -a .ssh/

总用量 20
 

drwx------  2  700 root 4096 11月 13 09:00 .
dr-xr-x---. 3 root root 4096 11月 13 08:59 ..
-rw-r--r--  1  644 root  408 11月 13 09:00 authorized_keys
-rw-------  1  700 root 1675 11月 13 08:59 id_rsa
-rw-r--r--  1  700 root  408 11月 13 08:59 id_rsa.pub

2. 修改 ssh 配置
修改 sshd_config 配置文件 

vi /etc/ssh/sshd_config

# 允许密钥认证

RSAAuthentication yes
PubkeyAuthentication yes
StrictModes no

# 公钥保存文件

AuthorizedKeysFile .ssh/authorized_keys

注:出于安全角度考虑,在之前配置 ssh 时,设置了禁用 root 远程登录 PermitRootLogin no,这里生成 root 证书登录时,最后导致登录失败。如果是为 root 用户生成登录证书,还需要确认 sshd_config 的PermitRootLogin 为 yes。

#最后重记sshd服务
systemctl restart sshd


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值