Linux证书登录配置

说明

两台服务器A、B

从服务器A登录到服务器B

简单描述就是:

  1. 在A上生成证书公钥、私钥
  2. 在A配置ssh允许证书登录
  3. 将公钥copy到B的~/.ssh/authorized_keys文件中
  4. A登录B时,指定A上面的私钥文件进行登录

配置步骤

在服务器A上

1、生成证书公钥、私钥

ssh-keygen -t rsa

一路回车即可,在~/.ssh目录中生成公钥和私钥:

  • 公钥默认名为:id_rsa.pub
  • 私钥默认名为:id_rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
11:76:1e:dd:57:44:41:e7:4c:93:4d:44:ed:a3:19:24 root@zs-test
The key's randomart image is:
+--[ RSA 2048]----+
|        o o. ..X/|
|       . + E...=*|
|        . . o  oo|
|         .   . ..|
|        S     + .|
|             o   |
|                 |
|                 |
|                 |
+-----------------+

2、服务器A,ssh配置

vim /etc/ssh/sshd_config
#禁用root账户登录,非必要,但为了安全性,请配置
PermitRootLogin no

# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no

# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 将自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no

3、重启sshd服务

service sshd restart
## 或者
systemctl restart sshd.service

在服务器B上

将上面生成的公钥copy到服务器B上

## 这行在服务器A上操作
scp ~/.ssh/id_rsa.pub root@:~

将公钥内容添加到授权文件中

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

如果要让服务器A也能通过这个证书登录,就在服务器A上执行

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

链接

ssh命令

ssh -i /root/.ssh/id_rsa root@

scp命令

scp -i /root/.ssh/id_rsa filename root@:/root

你可能感兴趣的:(运维,linux,证书)