配置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 ====
相關文章
相關標籤/搜索