配置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,分分钟搞定~

开干

1、跳板机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 ~]#
 
2、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 ====
相关文章
相关标签/搜索