SSH遠程連接
Secure Shell 協議,安全殼協議。用於Linux之間加密登錄一種協議
SSH兩種驗證機制
- 直接輸入用戶名和密碼的方式
ssh username@ip
-
免密登錄,直接登錄,不需要輸入用戶名和密碼
如果網絡中Linux服務器比較多,需要記住每台服務器的密碼也是比較痛苦的事。你無需知道另一台機器上的帳號和口令,也可以登錄到遠程主機。我們說的SSH免密登錄,就說的是這種方式
-
ssh-keygen
生成公鑰和私鑰,生成的公鑰和私鑰在/root/.ssh目錄下。id_rsa是私鑰,id_rsa.pub是公鑰
-
ssh-copy-id
ssh-copy-id root@192.168.1.1
將新生成的密鑰(公鑰)發送到指定服務器。在服務器的/root/.ssh/autorized_keys文件中。
-
ssh root@192.168.1.1
不需要輸入密碼了
-
Permission denied, please try again錯誤
👉👉來源文章傳送門
使用ssh遠程連接報錯,權限被拒絕,請重試
問題原因:
服務端SSH 服務配置了禁止root用戶登錄策略。
解決方式:
查看 /etc/ssh/sshd_config 中是否包含類似如下配置:
PermitRootLogin no
參數說明:
1.未配置該參數,或者將參數值配置為 yes (默認情況),都允許 root 用戶登錄。只有顯示的設置為 no 時,才會阻斷root 用戶登錄。
該參數只會影響用戶的 SSH 登錄,不影響用戶通過 管理終端 等其它方式登錄系統。
2.如果需要修改相關策略配置,在繼續之前建議進行文件備份。
3.使用 vi 等編輯器,將參數值設置為 yes,或者整個刪除或注釋(在最開頭添加 # 號)整行配置。比如:
PermitRootLogin yes
或
# PermitRootLogin no
4.使用如下指令重啟 SSH 服務:
service sshd restart