服務器遠程連接
天下大事 必作於細
rsa密鑰配置
本地設備
利用git生成一對rsa公私密鑰 keygen
windows的話,默認生成目錄在 C:\Users\用戶名.ssh
id_rsa為私鑰文件
id_rsa.pub為公鑰文件
私鑰文件為你的登錄的身份證,登錄時選擇這個文件即可,具體見下文。
公鑰文件需要放到服務器authorized_keys當中
遠程服務器
- 進入相應用戶的.ssh文件夾, cd ~/.ssh即可
里面應該有authorized_keys、id_rsa、id_rsa.pub、know_hosts等四個文件
我們只需要關心authorized_keys這個文件即可。 - 打開authorized_keys文件,把剛剛本地生成的公鑰文件的內容貼進來即可。
- 確保服務器上允許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
遠程連接
跳板機
為什么需要跳板機,這是為了實現從外網網址跳到內網服務器的需求。
vscode
遠程連接
Host xxxxx
HostName xx.xx.xx.xx
User xxx
Port xx
IdentityFile 私鑰路徑
Host為服務器名稱,可以隨便起
HostName是服務器ip地址
User 用戶名
Port 端口號
IdentityFile 指明私鑰文件路徑
跳板機
為什么需要跳板機,這是為了實現從外網網址跳到內網服務器的需求。
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