当我们在管理远程服务器时,最好使用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 |