近日,公司在跳板機前架設了堡壘機,以防止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
多堡壘機、多跳板可在上述方案基礎上繼續改造!
謝謝!