遠程服務器連接(密鑰驗證,跳板機)


服務器遠程連接

天下大事 必作於細

rsa密鑰配置

本地設備

利用git生成一對rsa公私密鑰 keygen
windows的話,默認生成目錄在 C:\Users\用戶名.ssh
id_rsa為私鑰文件
id_rsa.pub為公鑰文件
私鑰文件為你的登錄的身份證,登錄時選擇這個文件即可,具體見下文。
公鑰文件需要放到服務器authorized_keys當中

遠程服務器

  1. 進入相應用戶的.ssh文件夾, cd ~/.ssh即可
    里面應該有authorized_keys、id_rsa、id_rsa.pub、know_hosts等四個文件
    我們只需要關心authorized_keys這個文件即可。
  2. 打開authorized_keys文件,把剛剛本地生成的公鑰文件的內容貼進來即可。
  3. 確保服務器上允許RSA密鑰登錄,這里需要root權限
sudo vim /etc/ssh/sshd_config
//查看文件中的這兩項是否都是yes,第一項是允許RSA密鑰登錄,第二項是允許公鑰認證
RSAAuthentication yes
PubkeyAuthentication yes

這樣,密鑰配置就完成了。

當然,有一個問題,就是你的服務器下面並不存在authorized_keys這個文件,甚至連.ssh文件夾都沒有
那么,你自己建.ssh文件夾和authorized_keys文件然后再做一樣操作即可,不過需要注意,文件夾和文件的權限是有要求的:

chmod 700 .ssh
chmod 644 authorized_keys

下面,根據平台不同分成mobaxterm和vscode對本地設置私鑰以及跳板機進行說明

mobaxterm

遠程連接

圖1

跳板機

為什么需要跳板機,這是為了實現從外網網址跳到內網服務器的需求。
圖2

vscode

遠程連接

圖3

Host xxxxx
    HostName xx.xx.xx.xx
    User xxx
    Port xx
    IdentityFile 私鑰路徑

Host為服務器名稱,可以隨便起
HostName是服務器ip地址
User 用戶名
Port 端口號
IdentityFile 指明私鑰文件路徑

跳板機

為什么需要跳板機,這是為了實現從外網網址跳到內網服務器的需求。
圖3

Host public_net
    HostName xx.xx.xx.xx
    User xxx
    Port xx
    IdentityFile 私鑰路徑

Host inter_net
    HostName xx.xx.xx.xx
    User xxx
    Port xx
    IdentityFile 私鑰路徑
    ProxyCommand ssh -W %h:%p public_net

ProxyCommand 能夠指明通過另一個ip做跳板,其中ssh需要絕對運行路徑,如C:\Windows\System32\OpenSSH\ssh.exe


免責聲明!

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



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