使用Ubuntu,經(jīng)常需要需要SSH遠(yuǎn)程連接,但是有時候會出現(xiàn)問題,難以捉摸,下面參考別人的,在結(jié)合自己的嘗試總結(jié)下吧。
服務(wù)器配完ubuntu系統(tǒng)以及LNMP環(huán)境以后,想用WINSCP遠(yuǎn)程登錄,就需要開啟SSH服務(wù)才能支持。
?SSH服務(wù)分為客戶端和服務(wù)器。顧名思義,我想用putty遠(yuǎn)程登錄Ubuntu服務(wù)器,所以需要安裝SSH server。
OK,下面介紹如何開啟SSH服務(wù)。
一、檢查是否開啟SSH服務(wù)
因為Ubuntu默認(rèn)是不安裝SSH服務(wù)的,所以在安裝之前可以查看目前系統(tǒng)是否安裝,通過以下命令:
ps -e|grep ssh
輸出的結(jié)果ssh-agent表示ssh-client啟動,sshd表示ssh-server啟動。我們是需要安裝服務(wù)端所以應(yīng)該看是否有sshd,如果沒有則說明沒有安裝。
二、安裝SSH服務(wù)
?sudo apt-get install openssh-client 客戶端
?sudo apt-get install openssh-server 服務(wù)器
或者
?apt-get install ssh
三、啟動SSH服務(wù)
?sudo /etc/init.d/ssh start
四、修改SSH配置文件
可以通過SSH配置文件更改包括端口、是否允許root登錄等設(shè)置,配置文件位置:
?/etc/ssh/sshd_config
?默認(rèn)是不允許root遠(yuǎn)程登錄的,可以再配置文件開啟。
?sudo vi /etc/ssh/sshd_config
?找到PermitRootLogin without-password 修改為PermitRootLogin yes (本人遇到過)
?五、重啟SSH服務(wù)
?service ssh restart
?即可通過winscp 、putty使用ROOT權(quán)限遠(yuǎn)程登錄。
?啟用root用戶:sudo passwd root????? //修改密碼后就啟用了。
?客戶端如果是ubuntu的話,則已經(jīng)安裝好ssh client,可以用下面的命令連接遠(yuǎn)程服務(wù)器。
$ ssh xxx.xxx.xxx.xxx
?簡單介紹下SSH:
SSH:是一種安全通道協(xié)議,主要用來實現(xiàn)字符界面的遠(yuǎn)程登錄,遠(yuǎn)程復(fù)制等功能(使用TCP的22號端口)。SSH協(xié)議對通信雙方的數(shù)據(jù)傳輸進(jìn)行了加密處理,其中包括用戶登錄時輸入的用戶口令。
在RHEL 5系統(tǒng)中使用的是OpenSSH服務(wù)器由openssh,openssh-server等軟件包提供的(默認(rèn)已經(jīng)安裝),并以將sshd添加為標(biāo)準(zhǔn)的系統(tǒng)服務(wù)。
SSH提供一下兩種方式的登錄驗證:
1、密碼驗證:以服務(wù)器中本地系統(tǒng)用戶的登錄名稱,密碼進(jìn)行驗證。
2、秘鑰對驗證:要求提供相匹配的秘鑰信息才能通過驗證。通常先在客戶機中創(chuàng)建一對秘鑰文件(公鑰和私鑰),然后將公鑰文件放到服務(wù)器中的指定位置。
注意:當(dāng)密碼驗證和私鑰驗證都啟用時,服務(wù)器將優(yōu)先使用秘鑰驗證。
SSH的配置文件:
sshd服務(wù)的配置文件默認(rèn)在/etc/ssh/sshd_config,正確調(diào)整相關(guān)配置項,可以進(jìn)一步提高sshd遠(yuǎn)程登錄的安全性。
配置文件的內(nèi)容可以分為以下三個部分:
1、常見SSH服務(wù)器監(jiān)聽的選項如下:
Port 22 ? ? ? ? ? ? ? ? ? ?//監(jiān)聽的端口為22
Protocol 2 ? ? ? ? ? ? ? ?//使用SSH V2協(xié)議
ListenAdderss 0.0.0.0 ? ?//監(jiān)聽的地址為所有地址
UseDNS no ? ? ? ? ? ? ? ?//禁止DNS反向解析
2、常見用戶登錄控制選項如下:
PermitRootLogin no ? ? ? ? ? ?//禁止root用戶登錄
PermitEmptyPasswords no ? ? ? ?//禁止空密碼用戶登錄
LoginGraceTime 2m ? ? ? ? ? ?//登錄驗證時間為2分鐘
MaxAuthTries 6 ? ? ? ? ? ? ? ?//最大重試次數(shù)為6
AllowUsers user ? ? ? ? ? ?//只允許user用戶登錄,與DenyUsers選項相反
3、常見登錄驗證方式如下:
PasswordAuthentication yes ? ? ? ? ? ? ? ?//啟用密碼驗證
PubkeyAuthentication yes ? ? ? ? ? ? ? ? ? ?//啟用秘鑰驗證
AuthorsizedKeysFile .ssh/authorized_keys ? ?//指定公鑰數(shù)據(jù)庫文件
以前出現(xiàn)問題,不知道怎么解決,后來發(fā)現(xiàn)需要修改/etc/ssh/sshd_config,把里面的字段修改合適,基本就沒有問題了,PermitEmptyPasswords no? ?//禁止空密碼用戶登錄,就是上次遇到的問題,之前是禁止root登錄的,修改之后,就解決啦,如果下次遇到同樣的問題,記得去查看下這個文件了,或許就能迎刃而解了。