ssh跳板機及vscode,xshell隧道的全方位配置
阿新 • • 發佈:2021-11-28
ssh跳板機及vscode,xshell隧道的全方位配置
公鑰與私鑰使用場景:
- 私鑰用來進行解密和簽名,是給自己用的。
- 公鑰由本人公開,用於加密和驗證簽名,是給別人用的。
- 當該使用者傳送訊息時,用私鑰簽名訊息,別人用他給的公鑰驗證簽名,可以保證該資訊是由他傳送的。當該使用者接受訊息時,別人用他的公鑰加密,他用私鑰解密,可以保證該資訊只能由他接收到。
簽名場景參考這裡
ssh
ssh公私鑰連線原理
refer:An Illustrated Guide to SSH Agent Forwarding (unixwiz.net)Public Key Access部分
相關檔案
-
client端存放私鑰
id_rsa
- windows一般存放在
C:/Users/你的使用者名稱/.ssh
- linux存放在
/home/你的使用者名稱/.ssh
- windows一般存放在
-
server端存放
authorized_keys
,裡面寫入了所有client端的公鑰,即生成的id_rsa.pub
步驟
- 使用
ssh-keygen -t rsa
生成金鑰
- 其中
-t
是指定加密演算法 - 中間會詢問儲存金鑰地址,為避免衝突,可以改個名字,但是後續需要把私鑰改成
id_rsa
才能用 - 然後詢問
passphrase
這個不填也可以
passphrase
是為了保護私鑰的安全. 如果設定了passphrase, 當載入私鑰時需要輸入, 否則不需要輸入
- 把公鑰放到server兩種方法:
ssh-copy-id -i pub_key_file username@remotemachine
- 或者新建
/home/使用者名稱/.ssh/authorized_keys
,然後把id_rsa.pub
複製到目錄下,輸入命令cat id_rsa.pub>>authorized_keys
Vscode免金鑰登入
將上面步驟完成後,再配置ssh configuration file
Host JumpMachine HostName XXX.XXX.XXX.XXX Port XXX User root IdenytityFIle C:\Users\你的使用者名稱\.ssh\id_rsa Host TargetMachine HostName XXX.XXX.XXX.XXX Port XXX User root IdenytityFIle C:\Users\你的使用者名稱\.ssh\id_rsa #用的還是自己電腦的私鑰,不是跳板機的 ProxyCommand ssh -W %h:%p JumpMachine
Xshell隧道
只有使用隧道才能顯示目標機的xftp資料夾,否則就還是跳板機的資料夾
原理就是指定跳板機的一個使用者埠隧道連線目標機的ssh服務埠
以下參考這篇部落格:
運維管理之隧道對映訪問內網伺服器,通過xshell,xftp視覺化管理伺服器檔案_U.R.M.L-CSDN部落格
簡要步驟:
- 新建新增跳板機會話
- 在跳板機屬性裡新增隧道轉移規則
偵聽埠選個沒人用的就可以(1024-65535為使用者埠)
- 新建新增目標機會話
其中使用者身份驗證使用password還是public key都ok