RHEL5.4學習總結——SSH服務器的搭建與應用

                     RHEL5.4學習總結——SSH服務器的搭建與應用

      SSH簡介:很多設備,如路由器、防火牆等等,都提供了一種遠程訪問與管理的接口。如Windows服務器可以利用Telnet協議進行遠程管理等等。但是,Telnet不怎麼安全。因爲其在傳輸過程中,帳戶與密碼都是明文傳輸的。在網絡傳輸過程中,這是非常危險的。
  針對Telnet協議不安全這種情況,有人開發出了一個SSH協議。其原理跟Telnet類似,只是其具有更高的安全性。SSH是一個運行在傳輸控制層上的應用程序。他跟Telnet相比,提供了強大的認證與加密性能。他可以保證在我們連接到網絡設備的過程中,其傳輸的數據是加密處理過的。這麼做,就是爲了保障帳戶與口令的安全。
    SSH原理:簡單的說SSH是secure shell protocol的簡寫,它通過對聯機數據包的加密技術進行數據的傳輸,加密技術是通過一對公鑰和私鑰(public key and private key)組合成的密鑰進行加密與解密的操作,如下圖所示: 

                 
     當SSH服務激活之後,會產生一支公鑰和私鑰,當數據由Client端傳送到 Server端時,這些數據會先經過公鑰(,Public Key)來進行加密,那麼等這些經過公鑰加密的數據傳送到 Client 端之後,就可以由私鑰(Private Key)來進行解密。需要注意的是,這些公鑰與私鑰在每一部計算機上面都不一樣,所以,你與 Server 的聯機對其他人來說,都是很難去破解!
SSH服務器的啓動及應用:
[root@redfeng1 ~]#server sshd start
[root@redfeng1 ~]netstat -ltp

直接登錄到對方主機的方法
[root@redfeng1 ~]ssh 192.168.1.240
The authenticity of host '192.168.1.240 (192.168.1.240)' can't be established.
RSA key fingerprint is 5b:48:e7:c0:38:22:cd:cd:2c:85:c9:34:c1:c5:c9:72.
Are you sure you want to continue connecting (yes/no)? yes //輸入yes
Warning: Permanently added '192.168.1.240' (RSA) to the list of known hosts.
[email protected]'s password:   //這裏輸入對方主機的密碼,屏幕不會顯示信息
Last login: Sun Mar  7 21:00:29 2010 from 192.168.1.241

SSH服務器的配置(無密碼記問):
Server部分爲redhat1,IP爲192.168.1.240的主機使用Root這個帳號
Client部分爲redhat2,IP爲192.168.1.241的主機使用Root 這個帳號
注:這裏主要是爲了學習,所以用Root進行試驗,實際需禁用Root的遠程登錄
    SSH所有的設置都在/etc/ssh/sshd_config裏,有關它的詳細解釋可以谷歌一下,以下主要是對不用密碼進行遠程登錄的配置,即然SSH可以使用KEY來比對數據進行數據的加密,因此我們可以將client端產生的密鑰複製到server中,以後從client端登錄server時,由於兩者在SSH要聯機的信號傳遞中已經比對過KEY了,所以不需要輸入密碼就可登錄遠程主機,具體步驟如下:
1. 先在client端建立public key and private key兩個密鑰,利用的命令是:ssh-keygen。
     [root@redfeng1 ~]# ssh-keygen -t rsa//這個步驟會產生一個Key pair使用RSA加密
     Generating public/private rsa key pair.
     Enter file in which to save the key (/root/.ssh/id_rsa)://這裏回車
     /root/.ssh/id_rsa already exists.//我以前做過試驗已經存在那個文件,覆蓋即可
     Overwrite (y/n)? y     //輸入y
     Enter passphrase (empty for no passphrase):    //這裏回車
     Enter same passphrase again:     //再回車
     Your identification has been saved in /root/.ssh/id_rsa.   //這是私鑰
     Your public key has been saved in /root/.ssh/id_rsa.pub.   //這是公鑰
     The key fingerprint is:
     07:67:b2:10:38:7f:2f:23:b4:8a:07:7e:38:fe:0e:7c
root@redfeng1 
2. 以上建立的public key and private key都存放在默認目錄中即:$home/.ssh/並修改權限爲僅該用戶可讀的狀態。
[root@redfeng1 ~]# ll ~/.ssh/

3. 我們要用超級管理用戶進行遠程登錄,所以本機的私鑰要放在/root/.ssh/下,本機的公鑰Public key要放在服務器端的root/.ssh/目錄中並改名爲authorized_key,必須的,遠程傳送:
[root@redfeng1 .ssh]# scp id_rsa.pub 192.168.1.241:~/.ssh/authorized_keys



4. SSH服務器的測試
[root@redfeng1 ~]# ssh 192.168.1.241
 
    不必輸入密碼即可直接登錄到redfeng2這臺主機。相反把redfeng2的公鑰放在redfeng1這臺主機相對應的目錄就可以互相無密碼的訪問。
結束:這就是SSH服務器
的簡單配置,本博客僅爲學習交流,對於文中的錯誤請給於指正,對於初學者而言可以看一下,希望對你有所幫助!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章