centos下使用SSH证书登录操作记录

当我们在管理远程服务器时,最好使用SSH证书登录,这样能保障安全。当然,在我们使用GIT服务时,也可以使用SSH证书的。

1.客户端建立私钥和公钥

1
ssh-keygen -t rsa

2.ssh服务端配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim /etc/ssh/sshd_config
#禁用root账户登录,非必要,但为了安全性,请配置
PermitRootLogin no
 
# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no
 
# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys
 
#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no

配置好ssh服务器的配置了,那么我们就要把客户端的公钥上传到服务器端,然后把客户端的公钥添加到authorized_keys

在服务端执行命令

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

如果有修改配置/etc/ssh/sshd_config,需要重启ssh服务器

1
/etc/init.d/ssh restart