zoukankan      html  css  js  c++  java
  • 配置SSH Forward提升安全性

    目标

    MacBook ---(SSH)---> BastionServer ---(SSH)---> RemoteServer
     
    说明
    1. BastionServer、RemoteServer SSH端口号均为60666
    2. 用户名为thatsit
    3. 密钥对在MacBook上生成

    问题

    首先在此场景里面,为了保障服务器的安全性,我们登录服务器都是采用密钥登录的,禁止密码登录。
    因此,如果不启动ssh forward,想要实现上述功能,我们需要做的是把公钥存储在BastionServer和RemoteServer上,同时还需要把私钥分别存储在MacBook和BastionServer上。如此一来你的私钥就被存储在了一个本地之外的位置,尽管BastionServer是有相应访问策略的,还是存在很大的安全隐患。如果你的BastionServer被攻破了,剩下的RemoteServer那就只能眼睁睁地等待被搞了。

    思路 

    而如果使用了SSH Forward的功能,上述问题将迎刃而解~
    我们需要把公钥存储在BastionServer、各个RemoteServer上,公钥嘛,无所谓~
    至于私钥,只需要存储在你的本地(MacBook)就好了。
    除此之外,就是需要简单配置下SSH Forward,分分钟搞定~

    开干

    一、跳板机ssh相关配置
    1,开启ssh forward agent
    [thatsit(0)@BastionServer-02 12:19:56 ~]# cat .ssh/config
    ForwardAgent yes
    [thatsit(0)@BastionServer-02 12:19:59 ~]# 
     
    2,指定ssh连接端口为公司常用的ssh端口
    [thatsit(0)@BastionServer-02 12:19:59 ~]# grep Port /etc/ssh/ssh_config
    #   Port 22
         Port 60666
    [thatsit(0)@BastionServer-02 12:20:12 ~]#
     
    二、mac上的配置,ssh-add添加下私钥
    添加完成之后可以通过 ssh-add -L进行查看
     
    注意:在生成ssh密钥对的时候,一定要加下密码,多一重安全保障。
     

    使用

    Step1,从MacBook登录到BastionServer
    1,登录跳板机的时候指定-A参数启用SSH Forward即可
    ssh -A user@BastionServerIP -p 60666
     
    2,如果不想每次都输入-A参数,我们可以通过以下两种方式来做
    ①:修改 ~/.ssh/config配置,加上 ForwardAgent yes
    Host BastionServerIP
      HostName BastionServerIP
      ForwardAgent yes
    这样就可以使用ssh thatsit@BastionServerIP -p 60666来连接了
     
    ②:简单粗暴,配置下alias就好了~哈哈
    alias jumper-server-login='ssh -A -p60666 thatsit@BastionServerIP'
    
    Step2,从BastionServer登录到RemoteServer
    因为在跳板机上开启了ssh forward agent,并且指定了ssh连接端口为常用的端口号,此外因为ssh登录的时候默认使用的用户名就是当前本地登录的用户名,因此只需要
    ssh thatsit@RemoteServer
    或者
    ssh RemoteServer
    即可登录到RemoteServer
     
    ==== Done ====
  • 相关阅读:
    OsharpNS轻量级.net core快速开发框架简明入门教程-基于Osharp实现自己的业务功能
    OsharpNS轻量级.net core快速开发框架简明入门教程-代码生成器的使用
    一起创业吧:兼职程序员接单平台
    .NET、PHP、MySql、JS中的时间戳你每次是手写还是复制?这篇文章让你一次性搞懂
    .NET和PHP程序员如何通过技术快速变现
    .NET程序员我是如何通过一个产品在2年内买车买房
    .NET方法无限传参数技术
    .NET 增加扩展方法
    毕业10年总结与2019展望
    jQuery 1.9/2.0/2.1及其以上 on 无效的解决办法
  • 原文地址:https://www.cnblogs.com/thatsit/p/6599309.html
Copyright © 2011-2022 走看看