目标

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 ====

配置SSH Forward提升安全性的更多相关文章

  1. IT人员必备linux安全运维之Ssh用途、安全性、身份认证以及配置……【转】

    SSH一般用途 提供shell,解决telnet不安全的传输 1.修改默认ssh默认端口 vi /etc/ssh/sshd_config 修改之后重启 >systemctl restart ss ...

  2. 如何配置ssh免密码登录

    [TOC] 如果你在管理一堆unix机器,每次登录都要输入密码是挺烦的事情,一方面为了安全我们一般不会将所有机器的密码都设置成一样,另一方面就算一样每次都输入一遍也很麻烦. 这种情况下我们一般是用ss ...

  3. Xshell配置ssh免密码登录-密钥公钥(Public key)

    1 简介 ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法. 使用密钥登录分为3步: 1 ...

  4. CentOS7.4配置SSH登录密码与密钥身份验证踩坑

    简单记录,自用CentOS7.4虚拟机与ALiYunVPS,在配置ssh登录身份验证时碰到的问题. 阿里云VPS:因为在重置磁盘时选择了密钥对的身份验证方式,因此VPS中的CentOS7.4中的 /e ...

  5. Linux - 配置SSH免密通信 - “ssh-keygen”的基本用法

    目录 1 什么是SSH 2 配置SSH免密登录 2.1 安装必需的软件 2.2 ssh-keygen创建公钥-私钥对 2.3 ssh-copy-id把A的公钥发送给B 2.4 在A服务器上免密登录B服 ...

  6. Linux下使用Google Authenticator配置SSH登录动态验证码

    1.一般ssh登录服务器,只需要输入账号和密码.2.本教程的目的:在账号和密码之间再增加一个验证码,只有输入正确的验证码之后,再输入密码才能登录.这样就增强了ssh登录的安全性.3.账号.验证码.密码 ...

  7. Linux2 在Linux(CentOS)上配置SSH免登陆

    前言:      本文主要是我在安装hadoop之前,需要先配置SSH免登陆.通过网上搜索,发现不少类似的资料,但多少都有些小问题,所以结合自己的实践,记录在此,作为参考.如果能帮助到其他人,自然是更 ...

  8. CentOS配置SSH免密码登录后,仍提示输入密码

    CentOS配置SSH无密码登录需要3步: 生成公钥和私钥 导入公钥到认证文件,更改权限 测试 1.生成公钥和私钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 默 ...

  9. linux配置ssh互信

    公钥认证的基本思想: 对信息的加密和解密采用不同的key,这对key分别称作private key和public key,其中,public key存放在欲登录的服务器上,而private key为特 ...

随机推荐

  1. keras 修仙笔记二(ResNet算法例子)

    对于牛逼的程序员,人家都喜欢叫他大神:因为大神很牛逼,人家需要一个小时完成的技术问题,他就20分钟就搞定.Keras框架是一个高度集成的框架,学好它,就犹如掌握一个法宝,可以呼风唤雨.所以学keras ...

  2. Map.containsKey(String key)

    判断key有没有对应的value值有,返回true无,返回false

  3. k8s常用命令记录

    目录 kubectl常用命令 kubectl get pod -n dev 查看日志 查看pod详情 删除pod 删除job 进入pod里面 查看namespace 创建namespace 删除nam ...

  4. loadrunner11和https

    最近做了一个接口测试的项目,json格式,https协议,使用postman调试这个接口,在postman中写好三个表头Authorization.sessionIndex.Content-Type和 ...

  5. 零基础学python之函数与模块(附详细的代码和安装发布文件过程)

    代码重用——函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...

  6. Netty源码分析第4章(pipeline)---->第3节: handler的删除

    Netty源码分析第四章: pipeline 第三节: handler的删除 上一小节我们学习了添加handler的逻辑操作, 这一小节我们学习删除handler的相关逻辑 如果用户在业务逻辑中进行c ...

  7. Hadoop源码编译环境搭建

    准备工具: maven 3.0.0版本或者更高版本(配置中心库) protocbuff 2.5.0 http://www.zlib.net/ git bash(Windows环境可以用此工具执行编译命 ...

  8. python-gevent模块(自动切换io的协程)

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import gevent     def foo() ...

  9. FinTech领域实践:乐维监控助力西南某上市城商行IT运维转型升级!

    FinTech领域实践:乐维监控助力西南某上市城商行IT运维转型升级! 项目背景 随着信息化的逐步深入,企业业务运营活动对IT的依赖程度越来越高,传统的局部.粗放.碎片化的IT运维管理模式已经无法满足 ...

  10. ifconfig命令详情

    基础命令学习目录首页 原文链接:https://blog.csdn.net/weixin_37886382/article/details/79716879 许多windows非常熟悉ipconfig ...