一种不泄露ssh安全证书,登陆远程服务器的方法

========= 原创说明:转载请注明出处!===========

Copyright: Auther@, all right reserved.

@ Mar 6th 2020

===========================================

 

先说说问题,在开发运维中,经常碰到需要登录服务器的情况,又不能随时随地带着电脑。

那怎么办呢?—— 找一个中间服务器做登录堡垒!手机上放个ssh客户端,应急用。

想法固然好,但是问题又来了:

1. 口令太多记不住;2. 证书太多放在第三方服务器上不安全。

怎样才能最好的解决这个问题呢?

想了一个简单方便的方法,解决思路:

  1. 利用shell脚本自动登录,加一个口令保护
  2. 利用 shc 对脚本进行本地编译,加密后上传堡垒服务器
  3. 将目标地址用自己可懂的菜单或者命令参数的形式标注下来
  4. 所有登陆的证书放在临时共享内存中,自己随便命名,15秒后删除,ctrl+c 之类的中断也会自动删除。

 

比如:我们的脚本名称叫做:linkme.sh

利用 shc 对脚本进行编译的方法:

【本地安装 shc 工具】

       $ sudo apt install shc

【按照自己的习惯编辑一下 linkme.sh脚本】

      这一步主要看自己的习惯,需要修改的地方:

  1. 命令菜单具体的名称 @line:15-20
  2. 对应登陆的证书 @line: 60, 85
  3. 登陆的目标地址或域名 @line: 116, 118
  4. 是先口令还是先菜单提示,各取所好吧 @line 14-24
  5. 最重要的,一定要改好自己的口令!@line 27

关于安全性的讨论:

  1. 由于shc加密的脚本,在执行过程中,会被解密成明文放在内存里边,所以,还是可以被破解的,具体方法可以自己 search
  2. 这种方法安全性不高,本文里边只是为了方便,避免别人非常方便的偷走鉴权信息。
  3. 被别人点了后院的,自行负责,哈。

OK,我写了一个参考代码,供大家参考。https://download.csdn.net/download/auther_bin/12230217

 

========== 进阶 ===============

由于上述方法存在可以被 core_dump 破解的可能性,所以,最好的方式还是通过openssl再做一层加密,

链接脚本本身不在做密码保护,而是把其编译的二进制文件用openssl高强度加密一层,生成的二进制文件再通过base64编码,再次放在另外一个脚本中,用同样的方法再作一遍,这样一来,所有的敏感信息都会被openssl保护住,密码不对的情况下,可以破解第一层,无法破解到真是的链接脚本。这里就不再给出具体的实现方法了,有兴趣的同学可以自行完成作业。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值