① 在 ssh中,知道怎麼來使用ssh隧道.通過
1
打開secureCRT,連接到伺服器(本例伺服器IP:192.168.102.131),然後打開會話選項。
2
進入會話選項後,找到「埠轉發」,點擊「增加(A)..」。然後填寫三個項,a.名稱; b.本地埠5901; c.遠程埠5901;d.點擊確認,如下圖。 這樣,本地的5901埠將與遠程伺服器的5901通過ssh隧道連接,所以這里的vnc連接時,需要保持這個ssh連接不掉線。
通過SSH隧道連接VNC
3
服務端的配置。以centos為例,在/etc/sysconfig/vncserver: 添加下面一行:
vncserver -geometry 800x600 -nolisten tcp -nohttpd -localhost :1
主要是後面的 -localhost:1參數,只監聽本機的數據。
4
所有東西准備差不多了,打開vnc viewer,填寫連接埠,如下圖。
注意,沒錯,地址那裡確定是localhost:1,因為走了ssh隧道,所以不需要填寫伺服器IP了。
② 在安卓上大家是用什麼ssh工具做代理的
SSH 為 struts+spring+hibernate的一個集成框架,是目前較流行的一種Web應用程序開源框架
框架結構
如右圖:
Struts對Model,View和Controller都提供了對應的組件。
在右圖中,ActionServlet,這個類是Struts的核心控制器,負責攔截來自用戶的請求。
Action,這個類通常由用戶提供,該控制器負責接收來自ActionServlet的請求,並根據該請求調用模型的業務邏輯方法處理請求,並將處理結果返回給JSP頁面顯示。
Model部分
由ActionForm和JavaBean組成,其中ActionForm用於封裝用戶的請求參數,封裝成ActionForm對象,該對象被ActionServlet轉發給Action,Action根據ActionFrom裡面的請求參數處理用戶的請求。
JavaBean則封裝了底層的業務邏輯,包括資料庫訪問等。
View部分
該部分採用JSP(或HTML、PHP……)實現。
Struts提供了豐富的標簽庫,通過標簽庫可以減少腳本的使用,自定義的標簽庫可以實現與Model的有效交互,並增加了現實功能。對應上圖的JSP部分。
Controller組件
Controller組件有兩個部分組成——系統核心控制器,業務邏輯控制器。
系統核心控制器,對應上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標注的Servlet。該控制器負責攔截所有的HTTP請求,然後根據用戶請求決定是否要轉給業務邏輯控制器。
業務邏輯控制器,負責處理用戶請求,本身不具備處理能力,而是調用Model來完成處理。對應Action部分。
Spring
Spring是一個開源框架,它由Rod Johnson創建。它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。
目的:解決企業應用開發的復雜性
功能:使用基本的JavaBean代替EJB,並提供了更多的企業應用功能
范圍:任何Java應用
簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。
輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小隻有1MB多的JAR文件里發布。並且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴於Spring的特定類。
控制反轉——Spring通過一種稱作控制反轉(IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。
面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應用的業務邏輯與系統級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發。應用對象只實現它們應該做的——完成業務邏輯——僅此而已。它們並不負責(甚至是意識)其它的系統級關注點,例如日誌或事務支持。
容器——Spring包含並管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創建——基於一個可配置原型(prototype),你的bean可以創建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關聯的。然而,Spring不應該被混同於傳統的重量級的EJB容器,它們經常是龐大與笨重的,難以使用。
框架——Spring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發留給了你。
所有Spring的這些特徵使你能夠編寫更干凈、更可管理、並且更易於測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。
Hibernate
Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。
Hibernate的核心介面一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心介面在任何開發中都會用到。通過這些介面,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這五個核心介面分別加以介紹。
·Session介面:Session介面負責執行被持久化對象的CRUD操作(CRUD的任務是完成與資料庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同於JSP應用中的HttpSession。這里當使用session這個術語時,其實指的是Hibernate中的session,而以後會將HttpSession對象稱為用戶session。
·SessionFactory介面:SessionFactory介面負責初始化Hibernate。它充當數據存儲源的代理,並負責創建Session對象。這里用到了工廠模式。需要注意的是SessionFactory並不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個資料庫時,可以為每個資料庫指定一個SessionFactory。
·Configuration介面:Configuration介面負責配置並啟動Hibernate,創建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然後創建SessionFactory對象。
·Transaction介面:Transaction介面負責事務相關的操作。它是可選的,開發人員也可以設計編寫自己的底層事務處理代碼。
·Query和Criteria介面:Query和Criteria介面負責執行各種資料庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。
③ 如何使用shadowsock以及ssh反向隧道實現內網代理
這里我推薦你使用花生殼做埠映射。花生殼是一款專門做DDNS內網地址轉換的軟體。
④ 內網一台linux伺服器上做了ssh隧道,通過外網訪問進來後沒多久,連接就斷了且伺服器無法上網了!
伺服器與路由器斷了就不能上網了,也不能用SSH訪問了
⑤ itools高級選項中開啟ssh隧道能幹什麼
開啟本地一個埠,比如隧道 選擇proxy5 ,本地埠選 1080.
你瀏覽器就可以使用這個埠上網了,,等於你的瀏覽器是使用你ssh的伺服器在上網,如果你ssh連的伺服器在國外的話。。。 你懂的
⑥ 如何使用ssh建立隧道
這條通道可以用很多技術來建立,這里我們僅僅介紹如何使用SSH伺服器來建立這樣一個通道-他被稱為SSH隧道。
如何建立本地SSH隧道
在我們計劃建立一個本地SSH隧道之前,我們必須清楚下面這些數據:
中間伺服器d的IP地址
要訪問伺服器c的IP地址
要訪問伺服器c的埠
現在,我們把上面這張圖變得具體一些,給這些機器加上IP地址。並且根據下面這張圖列出我們的計劃:
需要訪問234.234.234.234的FTP服務,也就是埠21
中間伺服器是123.123.123.123
現在我們使用下面這條命令來達成我們的目的
ssh -N -f -L 2121:234.234.234.234:21 123.123.123.123
ftp localhost:2121 # 現在訪問本地2121埠,就能連接234.234.234.234的21埠了
這里我們用到了SSH客戶端的三個參數,下面我們一一做出解釋:
-N 告訴SSH客戶端,這個連接不需要執行任何命令。僅僅做埠轉發
-f 告訴SSH客戶端在後台運行
-L 做本地映射埠,被冒號分割的三個部分含義分別是
需要使用的本地埠號
需要訪問的目標機器IP地址(IP: 234.234.234.234)
需要訪問的目標機器埠(埠: 21)
最後一個參數是我們用來建立隧道的中間機器的IP地址(IP: 123.123.123.123)
我們再重復一下-L參數的行為。-L X:Y:Z的含義是,將IP為Y的機器的Z埠通過中間伺服器映射到本地機器的X埠。
在這條命令成功執行之後,我們已經具有繞過公司防火牆的能力,並且成功訪問到了我們喜歡的一個FTP伺服器了。
如何建立遠程SSH隧道
通過建立本地SSH隧道,我們成功地繞過防火牆開始下載FTP上的資源了。那麼當我們在家裡的時候想要察看下載進度怎麼辦呢?大多數公司的網路是通過路由器接入互聯網的,公司內部的機器不會直接與互聯網連接,也就是不能通過互聯網直接訪問。通過線路D-B-A訪問公司里的機器a便是不可能的。也許你已經注意到了,雖然D-B-A這個方向的連接不通,但是A-B-D這個方向的連接是沒有問題的。那麼,我們能否利用一條已經連接好的A-B-D方向的連接來完成D-B-A方向的訪問呢?答案是肯定的,這就是遠程SSH隧道的用途。
與本地SSH一樣,我們在建立遠程SSH隧道之前要清楚下面幾個參數:
需要訪問內部機器的遠程機器的IP地址(這里是123.123.123.123)
需要讓遠程機器能訪問的內部機器的IP地址(這里因為是想把本機映射出去,因此IP是127.0.0.1)
需要讓遠程機器能訪問的內部機器的埠號(埠:22)
在清楚了上面的參數後,我們使用下面的命令來建立一個遠程SSH隧道
ssh -N -f -R 2222:127.0.0.1:22 123.123.123.123
現在,在IP是123.123.123.123的機器上我們用下面的命令就可以登陸公司的IP是192.168.0.100的機器了。
ssh -p 2222 localhost
-N,-f 這兩個參數我們已經在本地SSH隧道中介紹過了。我們現在重點說說參數-R。該參數的三個部分的含義分別是:
遠程機器使用的埠(2222)
需要映射的內部機器的IP地址(127.0.0.1)
需要映射的內部機器的埠(22)
例如:-R X:Y:Z 就是把我們內部的Y機器的Z埠映射到遠程機器的X埠上。
建立SSH隧道的幾個技巧
自動重連
隧道可能因為某些原因斷開,例如:機器重啟,長時間沒有數據通信而被路由器切斷等等。因此我們可以用程序控制隧道的重新連接,例如一個簡單的循環或者使用 djb』s daemontools . 不管用哪種方法,重連時都應避免因輸入密碼而卡死程序。關於如何安全的避免輸入密碼的方法,請參考我的 如何實現安全的免密碼ssh登錄 。這里請注意,如果通過其他程序控制隧道連接,應當避免將SSH客戶端放到後台執行,也就是去掉-f參數。
保持長時間連接
有些路由器會把長時間沒有通信的連接斷開。SSH客戶端的TCPKeepAlive選項可以避免這個問題的發生,默認情況下它是被開啟的。如果它被關閉了,可以在ssh的命令上加上-o TCPKeepAlive=yes來開啟。
另一種方法是,去掉-N參數,加入一個定期能產生輸出的命令。例如: top或者vmstat。下面給出一個這種方法的例子:
ssh -R 2222:localhost:22 123.123.123.123 "vmstat 30"
檢查隧道狀態
有些時候隧道會因為一些原因通信不暢而卡死,例如:由於傳輸數據量太大,被路由器帶入stalled狀態。這種時候,往往SSH客戶端並不退出,而是卡死在那裡。一種應對方法是,使用SSH客戶端的ServerAliveInterval和ServerAliveCountMax選項。ServerAliveInterval會在隧道無通信後的一段設置好的時間後發送一個請求給伺服器要求伺服器響應。如果伺服器在ServerAliveCountMax次請求後都沒能響應,那麼SSH客戶端就自動斷開連接並退出,將控制權交給你的監控程序。這兩個選項的設置方法分別是在ssh時加入-o ServerAliveInterval=n和-o ServerAliveCountMax=m。其中n, m可以自行定義。
如何將埠綁定到外部地址上
使用上面的方法,映射的埠只能綁定在127.0.0.1這個介面上。也就是說,只能被本機自己訪問到。如何才能讓其他機器訪問這個埠呢?我們可以把這個映射的埠綁定在0.0.0.0的介面上,方法是加上參數-b 0.0.0.0。同時還需要打開SSH伺服器端的一個選項-GatewayPorts。默認情況下它應當是被打開的。如果被關閉的話,可以在/etc/sshd_config中修改GatewayPorts no為GatewayPorts yes來打開它。
如何尋找中間伺服器
如果你家裡使用ADSL上網,多半你會比較幸運。一般的ADSL(例如 聯通 的ADSL)都是有互聯網地址的。你只需要在家裡的路由器上一台裝有OpenSSH server機器的SSH埠映射出去即可。同時一些提供SSH訪問的虛擬主機也可以用於這一用途。例如: Hostmonser 或者 Dreamhost .
通過SSH隧道建立SOCKS伺服器
如果我們需要藉助一台中間伺服器訪問很多資源,一個個映射顯然不是高明的辦法(事實上,高明確實沒有用這個方法)。幸好,SSH客戶端為我們提供了通過SSH隧道建立SOCKS伺服器的功能。
通過下面的命令我們可以建立一個通過123.123.123.123的SOCKS伺服器。
ssh -N -f -D 1080 123.123.123 # 將埠綁定在127.0.0.1上
ssh -N -f -D 0.0.0.0:1080 123.123.123.123 # 將埠綁定在0.0.0.0上
通過SSH建立的SOCKS伺服器使用的是SOCKS5協議,在為應用程序設置SOCKS代理的時候要特別注意。
總結
至此,我們已經對如何利用SSH隧道有一個基本的認識了。現在,文章開始時的那些問題應該迎刃而解了吧。這里要特別說一下,由於SSH隧道也使用了SSH加密協議,因此是不會被防火牆上的內容過濾器監控到的。也就是說一切在隧道中傳輸的數據都是被加密的。當然,離開隧道後的數據還是會保持自己原有的樣子,沒有加密的數據還是會被後續的路由設備監控到。
⑦ 搭建ssh隧道後本機ssh localhost -p 指定埠後需要密碼
-p 21312 221.226.xx.xx的ssh埠是21312, 默認是22
-C 使用壓縮
-N 告訴SSH客戶端,這個連接不需要執行任何命令。僅僅做埠轉發
-g 允許遠程主機連接到建立的轉發的埠
-L 埠轉發的參數
⑧ 如何使用SSH隧道創建XDMCP會話
xshell中創建SSH隧道具體操作如下: 1、打開xshell,尚未安裝的用戶,可以在xshell中文網下載xshell。 2、如果會話對話框沒有自動打開,點擊「文件」菜單中的「打開
⑨ JAVA怎麼通過SSH隧道連接資料庫查詢
在界面中點擊【新建】按鈕,在Mysql下填寫Mysql資料庫的ip地址、用戶名、密碼、埠(默認在3306)就好,資料庫名稱。這里跟普通的連接資料庫的方法一致。
這個時候讀者可以點擊一下【測試連接】,這個時候點擊測試連接去連接資料庫是不會成功的,因為資料庫配置了SSH訪問。如下圖:
配置完成Mysql信息後,在旁邊選擇【SSH】
點擊SSH後會彈出一個提示框,點擊提示框的【確定】按鈕。
點擊後勾選「使用SSH隧道」
勾選後下方的配置信息由勾選前的灰色變更為白色可輸入狀態,在這里配置訪問的SSH主機地址、用戶名、密碼或者公共密匙。
配置完成後來測試配置連接是否正確,點擊【測試連接】由於已經配置了正確的SSH訪問,這次測試連接成功了。
最後就可以點擊界面下方的【連接】按鈕,連接上資料庫,進行操作了。
⑩ Android手機用ssh安全隧道代理上網可以連接成功,但是不能上網!
應該不是ssh的問題,應該是max
lv的問題,我也是,現在都沒法升級,而
同樣的ssh賬號如果在pc上能正常使用。