linux主机自动调用远程主机申请的可自动更新的ssl证书方案

7 篇文章 5 订阅

最近在折腾NAS小主机,无意中发现unraid这个nas系统还比较好用,可扩展性强,于是想折腾在unraid上也能实现https访问。由于我的其它主机已经安装了Nginx(用lnmp.org一键脚本搭建)并申请了可自动更新的证书,于是就想能不能直接拷贝已经生成的泛域名ssl证书到nas中使用。不过因为我对linux一知半解,搜索学习了好久,才发现还是有办法实现的——想办法将远程主机上的ssl证书定期拷贝到本地主机——于是就有了写这篇文章的想法,一是给自己作个备忘,二也可以给跟我一样的小白作一些参考。

假设我的已安装lnmp并申请ssl证书的主机为主机1,申请的ssl证书保存目录为/usr/local/nginx/conf/ssl/xxx.com;nas主机为主机2,欲保存备份ssl证书的目录为/mnt/user/appdata/ssl/xxx.com。

原理:通过把本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中,然后通过scp命令实现不输入密码远程复制文件(夹)

1、在主机1上申请ssl证书,略(可参考我的另外一篇博文:利用lnmp一键安装包配置自动更新的免费SSL证书

2、在主机2上生成主机2用户的ssh公匙文件(ssh到主机2运行如下命令):

ssh-keygen -t 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:
SHA256:B34c6RaitTlUrpKZH7RQ4+48O7pME/ORXmchKFYn9** root@8259U
The key's randomart image is:
+---[RSA 3072]----+
|        o.+.     |
|       . +Eo     |
|      o + o o    |
|     . + = o .   |
|      + S * o    |
|       ^ & =     |
|      O % *      |
|     o *o=       |
|      +o=+       |
+----[SHA256]-----+
root@8259U:~# 

会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub 

3、将把主机2刚生成的id_rsa.pub文件拷贝到主机1的root用户主目录下的.ssh目录下,并且改名为authorized_keys:以root用户ssh进入主机1运行如下命令回车(假设主机2的ip为192.168.28.107) 

scp root@192.168.28.107:/root/.ssh/id_rsa.pub ./.ssh/authorized_keys,然后按提示输入主机2的root用户密码,公匙文件即已复制到主机1:

4、现在即可无需输入主机1的密码复制所需的ssl证书文件了。

ssh进入主机2,然后输入如下命令(假设主机1的ip为192.168.28.225)

scp -r root@192.168.28.225:/usr/local/nginx/conf/ssl/xxx.com /mnt/user/appdata/ssl/
则主机1中/usr/local/nginx/conf/ssl/xxx.com文件夹下的ssl证书将全部复制到主机2/mnt/user/appdata/ssl/xxx.com文件夹下了!

==几点说明:==

1、如果有多台计算机需要与主机1进行复制,则只需将id_rsa.pub中的内容复制到authorized_keys文件中即可。

      即先执行scp拷贝程序将每台计算机的id_rsa.pub文件拷贝到主机1的root用户主目录下的.ssh目录下并改名为1.pub,2.pub,....n.pub,再执行cat ~/.ssh/1.pub >> ~/.ssh/authorized_keys, cat ~/.ssh/2.pub >> ~/.ssh/authorized_keys,...cat ~/.ssh/n.pub >> ~/.ssh/authorized_keys, 将内容追加进去即可。

2、scp常用命令:

复制文件: 
(1)将本地文件拷贝到远程 
scp 文件名 用户名@计算机IP或者计算机名称:远程路径 
(2)从远程将文件拷回本地 
scp 用户名@计算机IP或者计算机名称:文件名 本地路径(要有/结尾) 
复制目录: 
(1)将本地目录拷贝到远程 
scp -r 目录名 --用户名@计算机IP或者计算机名称:远程路径 
(2)从远程将目录拷回本地 
scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径(要有/结尾)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

engineerlzk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值