1. 程式人生 > 程式設計 >SecureCRT高效操作——反空閒、按鈕欄、埠轉發跳板

SecureCRT高效操作——反空閒、按鈕欄、埠轉發跳板

SecureCRT是很強大的遠端登入虛擬終端軟體,使用它可以減少很多繁瑣的登入連線等操作。記錄一下平時比較使用比較多的功能。

一、反空閒

出於安全考慮,一般linux伺服器預設都有會話空閒時間,如果客戶端超過一定的時間沒有任何操作,服務端會斷掉會話,這是我們只能重新連線了。解決這個問題有兩種方法,一種是在服務端做配置。另外一種就是藉助SecureCRT來沒隔一段時間傳送字元到服務端,保持連線,方法如下。 terminal => anti-idle => 勾選Send string => 輸入任何字元

反空閒

二、按鈕欄

工作中,總是有一組命令要經常用,如果純手打那就很繁瑣了,我們可以將這組命令做成一個按鈕。如,你經常需要在本地打包一個jar,並上傳到/tmp目錄下,再從/tmp目錄下將jar包複製到tomcat的webapp目錄下,並cd到log目錄看日誌。 點選 view => Button Bar,底部會出現一個橫欄

按鈕欄
橫欄上右擊,點選新建按鈕
新建按鈕
輸入命令,
輸入命令
點選按鈕,命令執行成功。
命令執行成功

夜深了,有時間再續把。
過去將近一個月了,來把這篇文章補齊。

三、埠轉發(ssh隧道)

這個功能是ssh命令就提供的,可以說相當厲害了。

場景1. 堡壘機登入

現在有ABC三臺機器,A=>B=>C是連通的,可以通過ssh登入,但A=>C無法連通,那麼我們可以通過B來轉發A的資料到C,實現A訪問C機器。我現在三臺機器配置如下: A:本地windows機器,ip為192.168.1.102,可以連通B,不能連通C B:centos虛擬機器器,機器名master,ip為192.168.238.128,可以連通C C:另一個臺centos虛擬機器器,機器名slave1,ip為192.168.238.129 按如下操作,可以使得A連線C: 步驟1:新建A到B的連線,

新建A到B的連線
步驟2:配置剛才的連線,實現埠轉發,最重要的是下圖的第四步,第五步,代表本機127.0.0.1埠2222的資料,將會通過B機器(即當前標籤頁連線到的遠端機器),連線到遠端的192.168.238.129埠22
配置埠轉發
配置結束,關閉剛才的標籤頁重新開啟以啟用配置。
啟用配置
這時,根據剛才填寫的配置,我們新建一個連線訪問本機的2222埠。注意,A連線到B的標籤頁要開啟,否則資料無法轉發。
埠轉發
如圖,成功連線到機器C上了。
成功
以上的原理如下:
ssh埠轉發原理

場景2. 繞過防火牆

理解了如上的ssh埠轉發原理(ssh隧道),那麼,是否可以實現通過ssh繞過防火牆呢?如下,這樣是否行得通? A=>B使用ssh是連通的,但是A無法訪問B的8080埠(tomcat預設埠)。那麼是否可以A=>B建立一條ssh隧道(ssh埠轉發),監聽本地埠8080,將資料通過ssh隧道,轉發到B機器的8080埠,這樣不就實習了繞過防火牆訪問tomcat預設的8080埠了嗎?如下圖。

ssh隧道繞過防火牆
實踐如下: 如下,tomcat在遠端主機上已經正常啟動。
tomcat啟動驗證
但是,8080埠沒有開放,直接使用ip地址無法訪問。
8080不開放
按上面的教程,配置埠轉發,這次將監聽本地的8080埠,資料轉發到B機器的8080 tomcat預設埠。
8080ssh隧道
重啟標籤頁,瀏覽器訪問本地的8080,即127.0.0.1:8080,成功訪問。
成功繞過防火牆

四. 遠端埠轉發(ssh命令使用)

以上的本地埠轉發是:A=>B=>C,但A無法連通C,機器A、B、C能鏈式訪問。那如果是這種情況呢:B是內網機器,能連通A和連通C,但A無法連通B,記為A<=B=>C,這種情況則無法在A上使用本地埠轉發了。但在B上可是使用遠端埠轉發。如下圖,通過B=>A能連通,在B、A間開通隧道,使得A的資料能夠通過隧道傳到B。 如下圖,遠端主機B有80埠的http服務,但沒暴露外部埠外部機器無法訪問,B能連通A,通過遠端埠轉發可以實現訪問A機器的21212埠就能訪問到機器B的80埠。前提是機器A上也安裝了sshD服務端。

遠端埠轉發
如下
機器B運行了http服務
21212
接著,在機器B上建立遠端埠轉發,對於B來說遠端指的是機器A,遠端埠轉發的意思是轉發遠端A的21212埠的資料到本機B上。ssh命令如下,在機器B上執行。 ssh -R 21212:localhost:80 username@a_ip -R代表監聽遠端埠21212。 如下,在機器A上訪問21212埠就能連通機器B的http服務了。
遠端埠轉發

五. 動態埠轉發

以上的本地埠轉發和遠端埠轉發,只能指定訪問服務端的具體埠,而動態埠轉發則不固定埠。ssh的動態埠轉發就是sock5代理伺服器。 ssh -D 1080 username@remote_ip表示所有連線到本地1080埠的資料都會被轉發到remote_ip主機上,就像這些資料是在remote_ip上執行一樣。 如下,我的電腦的ip是廣東電信,

我的原本ip
當我執行了ssh -D 1080 username@ailicloud_ip命令,偵聽了本地的1080埠,將資料導向阿里雲,並在chrome的SwitchyOmega外掛上設定了將瀏覽器的資料都走1080埠。
SwitchyOmega
這時候來查詢自己的ip,發現ip已經變為阿里雲的ip地址了,說明代理成功。
阿里雲
同時,ms006這臺服務是內網機器,本來只能在阿里雲跳板機上訪問,現在在本地計算機上也能訪問了,如下,引數沒傳報錯,但是是能訪問到計算機的,後臺日誌也列印了。
image.png

以上。