SSH常用功能

最近需要從外網(wǎng)通過(guò)ssh訪問(wèn)內(nèi)網(wǎng)主機(jī),但是又不具備給路由器添加端口映射的權(quán)限,于是用到了ssh的遠(yuǎn)程端口轉(zhuǎn)發(fā)。于是打算在這里整理一下ssh常用的功能和用法。

但由于細(xì)節(jié)特別多,一次肯定寫(xiě)不完,因此有些細(xì)節(jié)會(huì)暫時(shí)省略,待日后補(bǔ)上,特別是截圖。

1、使用用戶名/密碼登陸

這是最基本的了,也沒(méi)什么好說(shuō)的。

ssh user@remote_host [-p port]

其中-p用來(lái)指定端口(如果端口不是默認(rèn)的22的話)

2、使用密鑰對(duì)登陸(此部分有待細(xì)化)

為了保證安全,可以在把本地產(chǎn)生的密鑰對(duì)的公鑰文件傳到服務(wù)端,這樣登陸的時(shí)候就不需要輸入用戶名/密碼了。當(dāng)然如果產(chǎn)生密鑰對(duì)的時(shí)候還使用了口令,這時(shí)還是需要輸入口令,這可以用ssh-agent來(lái)解決~~越來(lái)越懶了。當(dāng)然如果你想在某個(gè)服務(wù)端再登陸到另一個(gè)服務(wù)端,那么可以開(kāi)啟ssh-agent的轉(zhuǎn)發(fā)功能~~真是懶到家了。

3、端口轉(zhuǎn)發(fā)(此部分有待截圖)

這里分為四種,本地轉(zhuǎn)發(fā),遠(yuǎn)程轉(zhuǎn)發(fā),動(dòng)態(tài)轉(zhuǎn)發(fā)和X轉(zhuǎn)發(fā)

1)、共用參數(shù)

先說(shuō)明常見(jiàn)的參數(shù)

-f ? ? 后臺(tái)認(rèn)證用戶/密碼,通常和-N連用,不用登錄到遠(yuǎn)程主機(jī)。

-N ? 不執(zhí)行腳本或命令,通常與-f連用

2)、本地轉(zhuǎn)發(fā)

ssh -f -N ?-L local_port:remote_host:remote_port ?username@tunnel_host

這句命令需要在本地輸入,意思就是在本地打開(kāi)local_port端口監(jiān)聽(tīng),把發(fā)送到這個(gè)端口的TCP數(shù)據(jù)包經(jīng)過(guò)tunnel_host之后,發(fā)送到remote_host的remote_port上。

比如我想把發(fā)送到本地10000端口的tcp數(shù)據(jù)包經(jīng)過(guò)1.1.1.1轉(zhuǎn)發(fā)到1.2.3.4的20000端口,那么可以這么寫(xiě):

ssh -f -N -L 10000:1.2.3.4:20000 ?username@1.1.1.1

如果tunnel_host和remote_host相同,那么就相當(dāng)于直接發(fā)送到remote_host了,不經(jīng)過(guò)另一臺(tái)機(jī)器。

3)、遠(yuǎn)程轉(zhuǎn)發(fā)

ssh -f -N ?-R remote_port:local_host:local_port user@tunnel_host

這句命令需要在本地輸入,意思是在remote_host(在這里remote_host == tunnel_host)上打開(kāi)監(jiān)聽(tīng)remote_port,把傳給remote_port的tcp數(shù)據(jù)轉(zhuǎn)發(fā)到本地主機(jī)的local_port。

按道理來(lái)講,remote_host應(yīng)該可以不等于tunnel_host,但是我沒(méi)有這個(gè)需求也就沒(méi)有嘗試了,有待實(shí)驗(yàn)。

遠(yuǎn)程轉(zhuǎn)發(fā)通常用在外網(wǎng)想主動(dòng)連接內(nèi)網(wǎng)主機(jī)的時(shí)候,本質(zhì)上就是內(nèi)網(wǎng)主機(jī)先建立一條通向外網(wǎng)主機(jī)的連接,然后讓外網(wǎng)主機(jī)直接順著這條連接發(fā)送數(shù)據(jù)給內(nèi)網(wǎng)主機(jī):

ssh -f -N -R 10000:localhost:22 user1@1.1.1.1

那么我用

ssh user2@1.1.1.1 -p 10000

就可以通過(guò)ssh連接內(nèi)網(wǎng)主機(jī)了。

值得注意的是,user1是服務(wù)器的用戶名而user2是內(nèi)網(wǎng)主機(jī)的用戶名

3)、動(dòng)態(tài)轉(zhuǎn)發(fā)

之前兩種的轉(zhuǎn)發(fā)都是指定了轉(zhuǎn)發(fā)目的地的端口,那動(dòng)態(tài)轉(zhuǎn)發(fā)的意思就是根據(jù)數(shù)據(jù)包的協(xié)議動(dòng)態(tài)選擇轉(zhuǎn)發(fā)的目的端口。多用于翻墻。

ssh -N -f -D 1080 user@remote_host ?#將端口綁定在127.0.0.1:1080上

ssh -N -f -D 0.0.0.0:1080 user@remote_host ?# 將端口綁定在0.0.0.0:1080上

4)、X轉(zhuǎn)發(fā)

X轉(zhuǎn)發(fā)就是說(shuō)通過(guò)ssh轉(zhuǎn)發(fā)X11協(xié)議的數(shù)據(jù),簡(jiǎn)單的說(shuō)就是直接在本地運(yùn)行遠(yuǎn)程的帶有GUI的程序。

講道理X轉(zhuǎn)發(fā)可以用遠(yuǎn)程轉(zhuǎn)發(fā)來(lái)實(shí)現(xiàn),但是比較麻煩。

打開(kāi)X轉(zhuǎn)發(fā)需要保證/etc/ssh/sshd_config(配置文件的路徑隨不同linux發(fā)行版有可能會(huì)發(fā)生改變)鐘的X11Forwarding是yes的。

ssh –X user@remote_host

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 第一部分 概述當(dāng)你在咖啡館享受免費(fèi) WiFi 的時(shí)候,有沒(méi)有想到可能有人正在竊取你的密碼及隱私信息?當(dāng)你發(fā)現(xiàn)實(shí)驗(yàn)室...
    fastjrun閱讀 1,225評(píng)論 0 8
  • 實(shí)戰(zhàn) SSH 端口轉(zhuǎn)發(fā) 通過(guò)本文的介紹,讀者可以從中了解到如何應(yīng)用 SSH 端口轉(zhuǎn)發(fā)機(jī)制來(lái)解決日常工作 / 生活中...
    hopevow閱讀 1,098評(píng)論 0 9
  • CA和證書(shū)安全協(xié)議(SSL/TLS)OpenSSH 一、CA和證書(shū) (一) PKI(Public Key Infr...
    哈嘍別樣閱讀 1,520評(píng)論 0 0
  • 關(guān)于眉毛的詞有好多,眉清目秀、眉開(kāi)眼笑、喜上眉梢、巾幗須眉……小小的眉毛,在整個(gè)容貌上,有著非同小可的重要性! ...
    圓圓2408閱讀 361評(píng)論 0 0

友情鏈接更多精彩內(nèi)容