CA登录服务器

CA登录服务器

CA服务器操作

1、 生成 CA 签发用户证书的密钥

ssh-keygen -t rsa -b 4096 -f ~/.ssh/user_ca -C user_ca

-t rsa:指定密钥算法 RSA。
-b 4096:指定密钥的位数是4096位。安全性要求不高的场合,这个值可以小一点,但是不应小于1024。
-f ~/.ssh/user_ca:指定生成密钥的位置和文件名。
-C user_ca:指定密钥的识别字符串,相当于注释,可以随意设置。

密码:977721User

2、生成 CA 签发服务器证书的密钥

ssh-keygen -t rsa -b 4096 -f ~/.ssh/host_ca -C host_ca

密码:977721Host

服务器操作

1、把服务器公钥 ssh_host_rsa_key.pub,复制或上传到 CA 所在的服务器。

scp /etc/ssh/ssh_host_rsa_key.pub tom:~/.ssh/

CA 服务器操作

1、生成服务器证书 使用 host_ca 为服务器的公钥 ssh_host_rsa_key.pub 签发服务器证书。

ssh-keygen -s /root/.ssh/host_ca -I host.example.com -h -n host.example.com -V +52w /root/.ssh/ssh_host_rsa_key.pub

输入密码:977721Host

上面的命令会生成服务器证书ssh_host_rsa_key-cert.pub(服务器公钥名字加后缀-cert

  • -s:指定 CA 签发证书的密钥。
  • -I:身份字符串,可以随便设置,相当于注释,方便区分证书,将来可以使用这个字符串撤销证书。
  • -h:指定该证书是服务器证书,而不是用户证书。
  • -n host.example.com:指定服务器的域名,表示证书仅对该域名有效。如果有多个域名,则使用逗号分隔。用户登录该域名服务器时,SSH 通过证书的这个值,分辨应该使用哪张证书发给用户,用来证明服务器的可信性。
  • -V +52w:指定证书的有效期,这里为52周(一年)。默认情况下,证书是永远有效的。建议使用该参数指定有效期,并且有效期最好短一点,最长不超过52周。
  • ssh_host_rsa_key.pub:服务器公钥。

2、查看证书细节

ssh-keygen -L -f /root/.ssh/ssh_host_rsa_key-cert.pub

3、为证书设置权限

chmod 600 /root/.ssh/ssh_host_rsa_key-cert.pub

客户端操作

1、生成用户公钥和私钥

ssh-keygen -f ~/.ssh/user_key -b 4096 -t rsa

密码:977721Client
2、将公钥复制到CA 服务器上

scp /root/.ssh/user_key.pub tom:/root/.ssh/

CA 服务器操作

1、生成用户证书 使用user_ca 为客户端公钥 user_key-cert.pub 签发用户证书

ssh-keygen -s /root/.ssh/user_ca -I user@example.com -n user -V +1d /root/.ssh/user_key.pub

输入密码:977721User

2、查看证书细节

ssh-keygen -L -f /root/.ssh/user_key-cert.pub

3、为证书设置权限

chmod 600 /root/.ssh/user_key-cert.pub

服务器安装证书

1、将CA 服务器中的 ssh_host_rsa_key-cert.pub 复制到 服务器端: /etc/ssh/

scp /root/.ssh/ssh_host_rsa_key-cert.pub mike:/etc/ssh/

2、修改服务器配置文件

vim /etc/ssh/sshd_config 
# 指定服务器证书
HostCertificate /etc/ssh/ssh_host_rsa_key-cert.pub

3、重启sshd

systemctl restart sshd

服务器安装CA 公钥

1、将CA 签发用户证书的公钥user_ca.pub 拷贝到服务器

scp /root/.ssh/user_ca.pub mike:/etc/ssh/

2、修改服务器配置文件

vim /etc/ssh/sshd_config 
# 设置服务器的所有账户都会信任user_ca签发的所有用户证书。
TrustedUserCAKeys /etc/ssh/user_ca.pub

3、重启sshd

systemctl restart sshd

客户端安装证书

1、将CA 服务器端用户证书复制到客户端,与用户的密钥user_key保存在同一个目录即可

scp /root/.ssh/user_key-cert.pub jerry:/root/.ssh

2、使客户端信任服务器证

  • vim /etc/ssh/ssh_known_hosts文件中(全局)

  • vim /root/.ssh/known_hosts(用户)

追加一行 以 @cert-authority *.example.com 开头 host_ca.pub 为结尾,如下所示
@cert-authority *.example.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVNFYrTMq+0kESnrT89PHQ5ZPBs0oXPUJKWVYZatcMCzJmhO5sMh7eqXvaxKz7+PJNZKHRWx2/5Fi43CR4ncZ0aSiFg6MfQFkA2owPHlSsIq6GwG53Ju0dsus6VQcT7ZknFFWd1Rp8Z0m49mbLr4WJwaF12BbRdDlvWnD5G2hnuEdRd36xR2/LXjk9rOG9fQ8uyt/t2OfzXV0JXeAsYSvqBXpuGheN7hkbFxjGJYroqyi15w5Xpb3iNa3+rx/jzNdZBiGdPSqu1gt3ZkKJVbNNAB4rNgkHsxKxIQJzWqfAM11cbFvNIbjHpVBRomE04Pboi5gWCg9UOnFqh7A3I0oP host_ca

使用证书 远程登录服务器

ssh -i ~/.ssh/user_key root@host.example.com

公钥私钥登录

1、windows 生成ssh-key

ssh-keygen -m PEM -t rsa -b 4096 -f  C:\Users\SERVER\.ssh\win10_rsa -C win10

2、服务器中添加客户端公钥

/root/.ssh/au

3、连接服务器

ssh -i C:\Users\SERVER\.ssh\win10_rsa root@192.168.46.26
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值