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。

3. 下载私钥进行登录
下载 ~/.ssh/id_rsa 私钥文件,进行 ssh 登录
这里是在 Mac 的终端使用 scp 下载到 Mac 用户家目录下:

scp user@hostname:/root/.ssh/id_rsa ~/

下载后确认其权限是否为 600,如果不是进行调整 chmod 600 ~/id_rsa
若文件权限较大,会出现:

ssh -i id_rsa root@hostname
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "id_rsa": bad permissions

权限确认后,即可进行登录

# ssh -i id_rsa root@hostname
Last login: Tue Nov 13 09:10:17 2018 from 116.232.85.60
[root@vm172-31-0-20 ~]# 

使用证书登录成功!

4. 最后再对使用 ssh -i 指定证书文件进行优化
在本地电脑的 .ssh 目录下创建 config 文件,编辑文件内容:

Host domain
    HostName hostname
    User root
    IdentityFile    ~/id_rsa

保存后,确认其权限为600,若不是,须调整到600
再进行远程登录时,使用 ssh domain 即可
————————————————
版权声明:本文为CSDN博主「aicjs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013239054/article/details/84027557

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值