本地Mac通過堡壘機代理實現跨堡壘機scp問題

希希大隊長發表於2021-01-25

近日,公司在跳板機前架設了堡壘機,以防止ssh攻擊,但這帶來一個問題,我們平常直接ssh跳板機,可以直接使用scp來上傳或下載跳板機資料到本地

架設堡壘之後經常使用的scp工具不好用了

於是本期就來解決跨堡壘機實現scp問題,解決方案同樣適用阿里雲子賬號實現

常見堡壘-跳板-ECS結構拓撲圖:

堡壘機、跳板機、伺服器處於相同網段,可以直接內網訪問,只留下堡壘機一個出口供外部使用

在上述拓撲中,本地和堡壘機實現了ssh便捷登入(普通堡壘機只需要儲存本地公鑰即可,阿里雲堡壘機需配置子賬號認證)

堡壘機和跳板機實現了ssh便捷登入,我們假設本地登入堡壘機ssh資訊如下:

堡壘機開放ssh埠:60022

堡壘機域名:xxxxxx-public.bastionhost.aliyuncs.com

堡壘機IP:47.104.69.199

普通堡壘機登入:
admin@AdmindeMacBook-Pro-3 ~: ssh -p 60022 root@47.104.69.199
阿里雲堡壘機登入:(dongxixi為子賬號)
 admin@AdmindeMacBook-Pro-3 ~: ssh -p 60022 dongxixi@xxxxxx-public.bastionhost.aliyuncs.com 

通過以上命令我們可以輕鬆登入堡壘機(普通堡壘機直接登入,阿里雲堡壘機需要繼續輸入子賬號密碼和MFA code)

我們假設跳板機ssh資訊如下(只允許內網訪問):

跳板機開放ssh埠:22

跳板機IP:47.105.21.22

當我們站在堡壘機上時,可以通過以下命令直接登入跳板機

root@47.104.69.199 ~:ssh 47.105.21.22

當上述流程都ok時,我們就開始配置本地ssh,實現跨堡壘機scp了

進入本地ssh配置目錄:

admin@AdmindeMacBook-Pro-3 ~: cd ~/.ssh/

編輯config檔案

admin@AdmindeMacBook-Pro-3 ~: vi config

如果本地存在config檔案則追加,不存在則新建即可,以下配置根據自己實際填寫

# 堡壘機配置 Host為別名 HostName可以是解析後的域名,也可以是ip,User為登入的使用者
Host bastion
HostName xxxxx-public.bastionhost.aliyuncs.com # 或 47.104.69.199
User dongxixi
Port 60022

# 跳板機配置
Host jumper
HostName 47.105.21.22
User root
Port 22

Host jumper
ProxyCommand ssh -A -q bastion -W %h:%p

esc + wq!儲存退出

 

接下來測試配置是否成功

# 上傳測試,如果堡壘機是阿里雲堡壘機,回車後會提示輸入子賬號密碼和MFA code
admin@AdmindeMacBook-Pro-3 ~: scp -r ~/Downloads/test.txt jumper:~/

# 執行後如果沒有報錯,自行上跳板機檢視是否存在相應檔案

# 下載測試,
如果堡壘機是阿里雲堡壘機,回車後會提示輸入子賬號密碼和MFA code
admin@AdmindeMacBook-Pro-3 ~: scp -r jumper:~/test.txt ~/Downloads

 

多堡壘機、多跳板可在上述方案基礎上繼續改造!

謝謝!

 

相關文章