ssh伺服器搭建過程
1. 【linux】SSH 使用密碼/公鑰遠程登錄總結
本文是筆者查閱網上資料做的總結,關於SSH原理,什麼是對稱加密和非對稱加密,本文不過多介紹。這里介紹一下SHH的工作過程、配製方法,可能出現的問題及解決方法。
說明:本文中涉及的例子,SSH客戶端為:本地主機A,SSH伺服器為:伺服器B
SSH協議採用C-S(客戶端-伺服器端)架構進行雙方的身份驗證以及數據的加密。
伺服器端組件監聽指定的埠,負責安全連接的建立、對連接方的身份認證、以及為通過身份認證的用戶建立正確的環境。
客戶端負責發起最初的TCP握手、安全連接的建立、驗證伺服器的身份與之前記錄中的一致、並將自己的驗證信息提供給伺服器。
一個SSH會話的建立過程分為兩個階段。第一階段,雙方溝通並同意建立一個加密連接通道以供後續信息傳輸用。第二階段,對請求接入的用戶進行身份驗證以確定伺服器端是否要給該用戶開放訪問許可權。
當客戶端發起TCP連接時,伺服器端返回信息說明自己支持的協議版本,如果客戶端上支持的協議與之匹配,則連接繼續。伺服器會提供自己的公共主機密鑰(public host key)以讓客戶端確認自己訪問的是正確的機器。
然後,雙方採用一種Diffie-Hellman演算法共同為該會話建立密鑰。每一方的一部分私有數據,加上來自對方的一部分公共數據,通過這種演算法計算,能夠得出完全相同的密鑰用於本次會話。
整個會話的通訊內容都使用該密鑰進行加密。這個階段使用的公鑰/私鑰對與用戶驗證身份用的SSH密鑰是完全無關的。
經典Diffie-Hellman演算法的計算步驟如下:
這個共享密鑰的加密方式被稱為二進制數據包協議(binary packet protocol)。該過程能夠讓雙方平等的參與密鑰生成的過程,而不是由單方掌握。這種共享密鑰生成的過程是安全的,雙方沒有交換過任何未經加密的信息。
生成的密鑰是對稱式密鑰,一方用於加密信息的密鑰等同於另一方用於解密信息的密鑰,而任何第三方由於不持有該密鑰,是無法解密雙方傳遞的內容的。
會話加密通道建立後,SSH開始進入用戶認證階段。
下一步,伺服器驗證用戶身份以決定是否准許其訪問。驗證有不同的方式,選擇的驗證方式取決於伺服器的支持。
最簡單的驗證是密碼驗證:伺服器要求客戶端輸入密碼,客戶端輸入的密碼經過上述的通道加密傳輸給伺服器。
雖然密碼是加密過的,然而該方法仍然不被推薦,因為用戶經常為了省事而使用過於簡單的密碼,而這類密碼很容易就能夠被自動化腳本破解。
最流行的驗證方式是SSH密鑰對,這也是當前最推薦的方式。SSH密鑰對是非對稱密鑰,私鑰和公鑰分別用於不同的功能。
公鑰用於加密,而私鑰用於解密。公鑰可以隨意上傳、共享,因為公鑰的流通並不會危及到私鑰的保密性。
SSH密鑰對的驗證過程起始於上一部分加密通道建立之後,其具體執行步驟如下:
簡單來說,伺服器端用公鑰加密信息,客戶端用私鑰解密信息以證明自己持有私鑰。該過程同時使用了對稱加密和非對稱加密,兩種方式各有自己的功用。
命令如下:
用戶名:為要登錄的伺服器B中已存在的用戶賬戶名
IP地址:為伺服器B的IP地址
-p 埠號:用來指定埠號,默認為22
第一次登錄時,會提示如下提示:
大概意思是說,你正在訪問的主機不能驗證它的真實性,它的RSA key(當前訪問主機的公鑰)指紋是怎樣的,你確定要繼續連接嗎?
輸入yes繼續,會提示,已永久把當前訪問主機的RSA key添加到了已知主機文件(用戶目錄下,.ssh 文件夾中的knwon_hosts文件)中。之後再次 SSH 登錄就不再有該提示了。
接著,輸入登錄賬戶的密碼即可。
SSH 密碼登錄,需要伺服器開啟密碼驗證許可權,編輯伺服器SSH配置命令如下:
在 sshd_config 文件中,Protocol 2 下面 #PasswordAuthentication yes,將前面的#號去掉,保存退出。
公鑰登錄,即免密碼登錄。避免的每次登錄都要輸入的麻煩,也防止了中間人攻擊。是SSH遠程登錄最常用的登錄方式。
提示輸入密鑰對名稱,直接回車,使用默認名稱即可;
提示輸入密碼(使用私鑰時,要輸入密碼),直接回車,不使用密碼即可。
首先,登錄伺服器B,在進行下面的操作。
找到 #PubkeyAuthentication yes,刪除 #號,保存退出。
重啟 ssh 服務
也可指定驗證私鑰:
本地主機A,生成密鑰對後:
sudo vim /etc/selinux/config
2. 如何給伺服器架設 SSH
win server 想用SSH做代理很難實現,網上有很多教程說下載winsshd呀啥的,但是經過本人實際測試,都不能用,能連上,但是無法上網,SSH這東西的鼻祖就是Linux,所以要把SSH移到win平台上的話,就算成功了,也會非常不穩定,所以建議使用Linux系統。
3. 怎麼在linux上搭建SSH伺服器,並在win7上鏈接
不用搭建,默認已經有了。但你要先確認防火牆沒有阻止ssh服務(22號埠)。在win7上面裝一個Xmanager(或者putty),設置linux機子的ip以及你在linux上的用戶名和密碼,就可以登錄了。
4. 區域網如何架設SSH伺服器
在伺服器端的「命令提示符」窗口中,輸入「net start ″F-secure SSH Server″」命令,就可以啟動SSH服務,要停止該服務,輸入「net stop ″F-Secure SSH Server″」命令即可。其中「F-Secure SSH Server」為SSH伺服器名,「net start」和「net stop」為Windows系統啟動和停止系統服務所使用的命令。
提示:啟動了SSH服務後,一定要關閉Telnet服務,這樣伺服器就處在安全環境之中了,不用再怕數據被竊取。
三、合理設置SSH伺服器參數
啟動SSH服務後,網路管理員就可以遠程登錄伺服器進行維護了。但是每個區域網使用SSH服務的需求是不同的,因此默認的服務參數未必能滿足需要,那麼我們就可以自行設置這些參數。
1.基本參數設置
運行「fsshconf.exe」服務配置程序,在彈出的「F-Secure SSH Server Configuration」窗口左欄中,依次選擇「Server Settings→General」,然後在右邊的「General」框體中就可以對參數進行設置了(圖2)。
圖2 在SSH伺服器配置窗口中選擇常規設置項
在「Maximum number of connections」欄中輸入合適的數值,對連接到SSH伺服器的最大用戶數進行限制,在這里我們可根據需要進行設置,如輸入「50」,則只允許50個用戶同時連接SSH伺服器。
「Idle timeout」是用戶遠程登錄的超時時間設置,默認為「0」,就是不進行登錄超時限制。
大家可能還記得FTP伺服器的個性化的登錄信息,SSH伺服器也一樣可以做到。首先編寫一個登錄信息文本文件保存在文件夾中,然後點擊「Banner message file」欄的瀏覽按鈕,指定已編寫好的文本文件即可,這樣用戶遠程登錄時就能看到這些個性化的信息了。最後,大家一定要記住點擊「Apply」按鈕保存參數設置。2.網路參數設置
在「F-Secure SSH Server Configuration」窗口左欄中點擊「Network」選項(圖3),SSH伺服器默認使用的是「22」埠,當然也可以自定義埠號(注意,SSH伺服器使用的埠號一定不能和伺服器上別的程序的埠號沖突)。在「Port」欄中輸入想使用的埠號即可,其他的參數設置建議使用默認值。
5. 如何搭建一個SSH項目,用TOMCAT做伺服器,使用Eclipse(運行環境已經做好~)
第一步:打開eclipse
第二步:搭建好SSH項目
第三步:啟動
完畢
*********************
呵呵,偶就是不想好好回答,最鄙視樓主這樣的人咯
都還沒搞明白什麼是SSH,就想做SSH項目
如果你搞明白了什麼是SSH,也不會問這樣的問題
一看就是那種走都還不會,就想跑的人喲,瞎追風
6. linux下如何搭建ssh伺服器
一般發行版默認安裝、開啟。
沒裝的話使用自帶的包管理器裝openssh,然後/etc/init.d/sshd start,這個是最簡單的
然後本地用戶即可登陸
其他設置依照發行版會有些變化。
7. 新手如何搭建ssh架構
最近復習了下SSH框架的搭建
一:myeclipse搭建
1.添加spring支持。
在項目里右鍵點擊
MyEclipse--AddSpring...--把AOPCoreWeb三個libraries復選上。下一步完成。
2.添加hibernate支持。
首先先打開myeclipsehibernate視圖建立一個資料庫連接。根據不同的數據驅動建立不同的資料庫連接。
MyEclipse--AddHibernate...--根據需要一步步完成。
3.添加struts支持。
然後在web.xml文件里
context-param
param-namecontexConfigLocation/param-name
param-value/WEB-INF/applicationContext.xml/param-value
/context-param
listener
listener-classorg.springframework.web.context.ContextLoaderListener/listener-class
/listener
再在struts-config.xml中
controller
processorClass=org.springframework.web.struts.DelegatingRequestProcessor
/controller
這個時候載入項目會報一個確實pool包的錯誤。然後到構建路徑里去添加起來。
這時候框架基本搭建好了。
eclipse搭建SSH步驟
1.導入驅動包。。struts、spring、hibernate的包和資料庫連接的驅動包。
2.配置xml文件。。
3.添加struts-config.xml文件其中涉及到引用dtd文件
4.添加applicationContext.xml文件胚子該文件。。(1.連接。2sessionfactory3,假如連接字元是寫在屬性文件里,還要配
屬性文件連接的bean)
5.實體映射用到hibernate的插件。(注意表得有主鍵,不然生成的xml文件有錯。)
6.寫類biz類action等
7寫JSP文件。
用eclipse搭建主要得熟悉3個配置文件的配置。(web.xml、struts-config.xml、applicationContext.xml)
可能不全,你可以再一下,可能會有圖文的幫助
不好意思,以上,希望能對你有所幫助
8. 如何搭建SSH代理伺服器
伺服器端: 只要運行sshd就可以了,不需要特別的設置。
客戶端:
ssh -fND localhost:{port} {uname}@{server-addr},這條命令讓ssh監聽localhost上的{port}埠,並把收到的訪問請求轉發給{server-addr}
curl -v --socks5 localhost:{port} "http://www..com",注意用ssh搭建的代理是socks代理,不是http代理。如果嘗試用http代理的方式使用ssh搭建的代理,保證會讓你很郁悶!
也可以在Firefox裡面使用socks代理。