ssh遠程登陸命令


一、基本命令操作

1.登錄遠程主機

ssh username@IP_Address

其中username為遠程主機用戶名,IP_Address為遠程主機登陸密碼,端口為默認的22端口,如需修改端口為其他需要參數來指定:

ssh -p 8888 user@192.168.1.102

二、SSH免密登錄

1.使用ssh公鑰私鑰方式進行ssh鏈接:

Step1:使用ssh-keygen命令生成對應的rsa密鑰對(命令執行后連續回車即可)

ssh-keygen -t rsa

 如下圖所示為在~/.ssh/文件夾下生成的rsa密鑰對:

 Step2:將ssh-keygen命令生成的公鑰拷貝到待免密登錄的目標機上

cd ~/.ssh/
ssh-copy-id -i id_rsa.pub ubuntu@192.x.x.x

這里由於我已經完成了拷貝,因此提示無需再次拷貝,拷貝過程中需要輸入對方主機的登陸密碼以完成公鑰的拷貝過程,拷貝完成后,可以在目標主機的~/.ssh/文件夾下面查看到對應的授權文件如下所示:

 Step3:使用ssh命令連接目標主機

 

2.使用sshpass免密登錄

https://blog.csdn.net/weixin_42480153/article/details/104788790

三、SSH通過代理服務器跳轉連接遠程服務器

1. Linux下具體代理連接命令如下:

ssh -p port -o ProxyCommand="nc -x connect/4/5 -x proxy.net:port %h %p" user@server.net

上述命令參數解釋如下:

  •  -p port : 為ssh連接的遠程設備端口
  • -o ProxyCommand="nc -x connect/4/5 -x proxy.net:port %h %p" : 為啟用代理服務的命令調用
    • nc :為Linux代理連接工具
    • -x connect/4/5 :指定代理連接協議類型  connect->HTTPS proxy  /  4->SOCKS v.4  /  5->SOCKS v.5 (默認)
    • -x proxy.net:port :設置代理服務器IP地址及端口號,如未設置則  SOCKETS 默認使用 1080 & HTTPS 默認使用 3128
  • user@server.net :配置SSH目標服務器連接 HostName/IP_Address

也可以使用 SSH 配置文件

1. 使用vim打開ssh配置文件

sudo vim ~/.ssh/config

2. 增加如下兩行內容:以 nc 為例,如使用 Ncat 可以自行替換

Host * ProxyCommand nc -X 5 -x proxy.net:1080 %h %p

使用配置文件之后,就不需要在命令行中進行代理配置了

2. Windows下使用代理程序跳轉至目標機:

ssh -p 12345 -o ProxyCommand="R:\Program Files (x86)\Nmap\ncat.exe --proxy-type http --proxy 188.188.3.212:808 %h %p" nvidia@123a456b78.zicp.vip

這里使用了ncat.exe作為Windows下的跳轉工具。關於ncat.exe以及Linux下nc工具的使用,參考這里。關於VSCode的相關配置在其他類別博客下的工具箱中!

 Reference:

1.設置密鑰對之后登錄仍然需要登陸密碼問題:https://blog.csdn.net/b_x_p/article/details/78534423

2.主從機密鑰對免密登錄設置:https://www.cnblogs.com/mhl1003/p/9442898.html

3.使用sshpass命令來進行明文免密登錄:https://blog.csdn.net/weixin_42480153/article/details/104788790

4.使用代理服務器跳轉連接遠程Server:https://www.jianshu.com/p/f6990f3a52eb


免責聲明!

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



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