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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM