本日在進行SSH免密碼登陸的時候,使用SSH進行測試,拋出下面異常
ssh: connect to host localhost port 22: Connection refused
在網上收了下,答復很多,基本都是
1、沒啟動SSH
2、沒安裝SSH
3、沒關防火墻
4、…. ,千篇1律。
上面的解決方案我都看了,但是還是不好使。
調研了些關于SSH的資料,內容以下,
SSH:是1種安全通道協議,主要用來實現字符界面的遠程登錄,遠程復制等功能(使用TCP的22號端口)。SSH協議對通訊雙方的數據傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令。
在RHEL 5系統中使用的是OpenSSH服務器由openssh,openssh-server等軟件包提供的(默許已安裝),并以將sshd添加為標準的系統服務。
SSH提供1下兩種方式的登錄驗證:
1、密碼驗證:以服務器中本地系統用戶的登錄名稱,密碼進行驗證。
2、秘鑰對驗證:要求提供相匹配的秘鑰信息才能通過驗證。通常先在客戶機中創建1對秘鑰文件(公鑰和私鑰),然后將公鑰文件放到服務器中的指定位置。
注意:當密碼驗證和私鑰驗證都啟用時,服務器將優先使用秘鑰驗證。
SSH的配置文件:
sshd服務的配置文件默許在/etc/ssh/sshd_config,正確調劑相干配置項,可以進1步提高sshd遠程登錄的安全性。
配置文件的內容可以分為以下3個部份:
1、常見SSH服務器監聽的選項以下:
Port 22 //監聽的端口為22
Protocol 2 //使用SSH V2協議
ListenAdderss 0.0.0.0 //監聽的地址為所有地址
UseDNS no //制止DNS反向解析
2、常見用戶登錄控制選項以下:
PermitRootLogin no //制止root用戶登錄
PermitEmptyPasswords no //制止空密碼用戶登錄
LoginGraceTime 2m //登錄驗證時間為2分鐘
MaxAuthTries 6 //最大重試次數為6
AllowUsers user //只允許user用戶登錄,與DenyUsers選項相反
3、常見登錄驗證方式以下:
PasswordAuthentication yes //啟用密碼驗證
PubkeyAuthentication yes //啟用秘鑰驗證
AuthorsizedKeysFile .ssh/authorized_keys //指定公鑰數據庫文件
參考:http://dengqi.blog.51cto.com/5685776/1260038
突然有發現,我用的是ssh localhost,說22端口謝絕鏈接,當我查看ssh配置文件時發現端口號是3228。恍然大幅
查了相干資料 ssh -p3228 localhost,成功。