1. 介紹
什么是SSH
SSH 為 Secure Shell 的縮寫默穴,由 IETF 的網(wǎng)絡小組(Network Working Group)所制定洋魂;SSH 為建立在應用層基礎上的安全協(xié)議。SSH 是目前較可靠肘习,專為遠程登錄會話和其他網(wǎng)絡服務提供安全性的協(xié)議际乘。
2. 相關參數(shù)解釋
-L port:host:hostport #建立本地SSH隧道(本地客戶端建立監(jiān)聽端口)
將本地機(客戶機)的某個端口轉(zhuǎn)發(fā)到遠端指定機器的指定端口.
-R port:host:hostport #建立遠程SSH隧道(隧道服務端建立監(jiān)聽端口)
將遠程主機(服務器)的某個端口轉(zhuǎn)發(fā)到本地端指定機器的指定端口.
-D port 指定一個本地機器 “動態(tài)的’’ 應用程序端口轉(zhuǎn)發(fā).
-C 壓縮數(shù)據(jù)傳輸。
-N 不執(zhí)行腳本或命令漂佩,僅僅做端口轉(zhuǎn)發(fā)脖含。通常與-f連用。
-f 后臺認證用戶/密碼投蝉,不用登錄到遠程主機养葵。
-q:靜默模式
-n:重定向stdin 到 /dev/null
-g:允許遠程主機連接主機的轉(zhuǎn)發(fā)端口
-T:禁止分配偽終端
3. Socks建立
socks正向代理
- 在本地終端中運行
ssh -qTfnN -D port remotehost
ssh -qTfnN -D 6080 user@theserver- 然后在瀏覽器或者軟件中設置好代理參數(shù)
socks5: 127.0.0.1:6080 后便可以使用.
socks反向代理
ssh --qngfNTR listen-port:host:port remotehost
ssh -p 22 -qngfNTR 6666:localhost:22 VPS-user@VPS
4. 使用實例
說明
2臺電腦
root1 客戶端
root2服務端
客戶端
使用命令:
sshpass -p '123456root2' ssh -qngfNTR 3001:127.0.0.1:22 root2@192.168.1.3
sshpass -p 后接遠程主機密碼
服務器端
查看接口
ss -a |grep 3001
建立本地代理
sshpass -p '123456root1' ssh -nqfNTD 3002 root1@127.0.0.1 -p 3001
現(xiàn)在就可以socks5: 127.0.0.1:3002訪問root1所在網(wǎng)絡
root2 ssh連接連接 root1
ssh root1@127.0.0.7 -p 3001