Linux服務筆記之二:SSH遠程登陸

上次,寫了用傳統的telnet方法來遠程管理服務器。今天,寫下如何用SSH(Secure SHELL)協議來遠程管理服務器。優勢:由於SSH基於成熟的公鑰加密體系,因此傳輸的數據會進行加密,保證數據在傳輸的時候,不被篡改及泄露,從而提升了系統的安全性。

Linux下普遍地使用OpenSSH程序來實現SSH協議。這個在Red Hat9.0環境下,默認地安裝了。查詢是否被安裝下或者查詢安裝了哪一種版本,使用以下命令:

[root@localhost root]# rpm -qa | grep ssh
openssh-3.5p1-6
openssh-server-3.5p1-6                                         //服務器組件
openssh-askpass-gnome-3.5p1-6
openssh-clients-3.5p1-6                                        //客戶端組件
openssh-askpass-3.5p1-6

若是,沒有安裝。能夠手動地在Linux安裝盤,找到相應的RPM組件,進行安裝(服務器組件是必順的,其它的能夠選擇性地安裝)

這樣,咱們就能夠在windows窗口下,使用putty這個軟件來測試。



鏈接後,要求用戶覈對是否要鏈接的服務器的一致。



若是公鑰獲得了承認,單擊是。putty程序將服務器的公仴保存到註冊表中,下次登陸的時候就再也不有此提示了。



成功了,咱們能夠經過抓包軟件來試試,看數據是否是用密文來傳送的。



從這裏看不到傳送的數據的內容。上一篇: Linux服務筆記之一:Telnet遠程登陸   能夠清楚地看到用戶名和密碼。

也能夠用linux主機遠程登陸SSH服務器,須要安裝openssh-clients程序軟件包。



OpenSSH服務器的主要配置文件爲/etc/ssh/sshd_config,幾乎全部的配置信息都在此文件中,一些經常使用的設置。

[root@localhost root]# vi /etc/ssh/sshd_config
.......                                                                                                                                                   
#Port 22                                                         //端口號  
#Protocol 2,1                                                 //默認支持版本1和2
#ListenAddress 0.0.0.0                               //監聽全部網絡接口地址
#ListenAddress ::
#PermitRootLogin yes                                     //容許root用戶登陸
......
#PasswordAuthentication yes                           //是否容許密碼驗證
#PermitEmptyPasswords no                              //是否容許密碼爲空

若是,要在服務器下啓用公鑰認證,編輯這個/etc/ssh/sshd_config配置文件,找到"PasswordAuthentication yes"改成no,就能夠了。

PS:修改了配置文件/etc/ssh/sshd_config,須要從新啓動SSH服務,來使配置文件生效。

經過PuTTYgen能夠產生密鑰(RSA和DSA)的工具


                 
密鑰生成後,出於安全性的考慮。須要輸入保護私鑰的口令Key passphrase



保存公鑰爲public key(public.pub),私鑰爲private key(private.ppk)
而後,把公鑰傳到SSH服務器裏面,私鑰放到putty。

puttygen產生的公鑰與OpenSSH格式不一樣,須要自帶的ssh-keygen來進行轉換。

ssh-keygen -i -f /root/public.pub > /root/.ssh/authorized_keys



鏈接後,服務器要求輸入用戶名。若是使用了保護私鑰的口令保護,會提示輸入口令。期間,不須要輸入用戶名的口令。

相關文章
相關標籤/搜索