本日在進行SSH免密碼登陸的時候,使用SSH進行測試,拋出下面異常
ssh: connect to host localhost port 22: Connection refused
在網(wǎng)上收了下,答復很多,基本都是
1、沒啟動SSH
2、沒安裝SSH
3、沒關(guān)防火墻
4、…. ,千篇1律。
上面的解決方案我都看了,但是還是不好使。
調(diào)研了些關(guān)于SSH的資料,內(nèi)容以下,
SSH:是1種安全通道協(xié)議,主要用來實現(xiàn)字符界面的遠程登錄,遠程復制等功能(使用TCP的22號端口)。SSH協(xié)議對通訊雙方的數(shù)據(jù)傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令。
在RHEL 5系統(tǒng)中使用的是OpenSSH服務器由openssh,openssh-server等軟件包提供的(默許已安裝),并以將sshd添加為標準的系統(tǒng)服務。
SSH提供1下兩種方式的登錄驗證:
1、密碼驗證:以服務器中本地系統(tǒng)用戶的登錄名稱,密碼進行驗證。
2、秘鑰對驗證:要求提供相匹配的秘鑰信息才能通過驗證。通常先在客戶機中創(chuàng)建1對秘鑰文件(公鑰和私鑰),然后將公鑰文件放到服務器中的指定位置。
注意:當密碼驗證和私鑰驗證都啟用時,服務器將優(yōu)先使用秘鑰驗證。
SSH的配置文件:
sshd服務的配置文件默許在/etc/ssh/sshd_config,正確調(diào)劑相干配置項,可以進1步提高sshd遠程登錄的安全性。
配置文件的內(nèi)容可以分為以下3個部份:
1、常見SSH服務器監(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ù)庫文件
參考:http://dengqi.blog.51cto.com/5685776/1260038
突然有發(fā)現(xiàn),我用的是ssh localhost,說22端口謝絕鏈接,當我查看ssh配置文件時發(fā)現(xiàn)端口號是3228。恍然大幅
查了相干資料 ssh -p3228 localhost,成功。