新聞中心
SSH是一種常用的協(xié)議,旨在提供安全的遠程登錄和執(zhí)行遠程命令。SSH允許用戶在不暴露明文密碼的情況下連接到遠程主機,因為用戶只需使用密鑰對進行身份驗證。然而,有時SSH無法使用密鑰對進行身份驗證,而是需要使用密碼進行身份驗證。這種情況下,有時無法使用密碼進行身份驗證,這可能是因為一些配置錯誤或安全問題。

本文將介紹如何解決在Linux系統(tǒng)中SSH無密鑰登錄失敗的問題。
1.檢查目標主機上的SSH配置
在進行SSH無密鑰登錄時,目標主機的SSH配置非常重要。確保以下設置已正確設置:
允許無密碼登錄:確保目標主機上的SSH設置允許無密碼登錄。打開/etc/ssh/sshd_config文件,并確保以下設置:
RSAAuthentication yes
PubkeyAuthentication yes
禁用密碼身份驗證:禁用密碼身份驗證可以增加安全性,但需要使用密鑰對進行身份驗證。在此設置時,請務必小心,確保您在使用SSH之前已正確設置密鑰對。
PasswordAuthentication no
保存更改后,重啟SSH服務。
2.檢查本地主機上的SSH配置
確保您的本地主機安裝了SSH客戶端,并正確配置SSH。
檢查本地主機上的SSH配置文件/etc/ssh/ssh_config,確保以下設置已啟用:
IdentityFile ~/.ssh/id_rsa(如果您的密鑰是id_rsa)
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
保存更改并退出文件。
3.生成新的SSH密鑰對
如果您尚未生成SSH密鑰對,則需要生成新的密鑰對。如果您已經有SSH密鑰對,則可以跳過此步驟。
要生成新的SSH密鑰對,請在本地主機上打開終端,然后運行以下命令:
$ ssh-keygen
依據提示輸入以下信息:
輸入密鑰的名稱(默認名稱為id_rsa)。
輸入密碼(如果需要)。
4.將公鑰添加到目標主機上
要使用SSH密鑰對進行身份驗證,您需要將公鑰添加到目標主機的用戶帳戶中。
打開終端并運行以下命令:
$ ssh-copy-id user@remote_host
其中,user和remote_host都是您要登錄的目標主機的用戶名和主機名。
輸入您的密碼,然后等待公鑰上傳。
5.測試SSH連接
您需要測試SSH連接是否正常工作。
在本地主機的終端上,運行以下命令:
$ ssh user@remote_host
如果所有設置正確,則您應該無需輸入密碼即可連接到遠程主機。如果登錄成功,則可結束此過程。
結論
本文介紹了如何解決Linux系統(tǒng)中SSH無密鑰登錄失敗的問題。如果您遇到此問題,請嘗試按照本文所述的步驟進行處理,以便您可以快速輕松地解決問題。
相關問題拓展閱讀:
- root賬戶用ssh-keygen創(chuàng)建公私鑰失敗怎么回事
root賬戶用ssh-keygen創(chuàng)建公私鑰失敗怎么回事
使用下例中ssky-keygen和ssh-copy-id,僅需通過3個步驟的簡單設置而無需輸入密碼就能登錄遠程Linux主機。
ssh-keygen 創(chuàng)建公鑰和密鑰。
ssh-copy-id 把磨銷本地主機的公鑰復制到遠程主機的authorized_keys文件上。
ssh-copy-id 也會給遠程主機的用戶主目錄(home)和~/.ssh, 和~/.ssh/authorized_keys設置合適的權限 。
步驟1: 用 ssh-key-gen 在本地主機上創(chuàng)建公鑰和密鑰
ligh@local-host$ ssh-keygen -t rsa
Enter file in which to save the key (/home/jith/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jith/.ssh/id_rsa.
Your public key has been saved in /home/jith/.ssh/id_rsa.pub.
The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9
ligh@local-host
步驟2: 用 ssh-copy-id 把公世游廳鑰復制到遠程主機上
ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub
ligh@remote-host‘s password:
Now try logging into the machine, with ―ssh ?remote-host‘‖, and check in:
.ssh/authorized_keys to make sure we haven‘t added extra keys that you weren‘t expecting.
步驟3: 直接登錄遠程主機
ligh@local-host$ ssh remote-host
Last login: Sun Nov 16 17:22:from 192.168.1.2
ligh@remote-host$
linux ssh無密鑰失敗的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于linux ssh無密鑰失敗,解決Linux SSH無密鑰登錄失敗問題,root賬戶用ssh-keygen創(chuàng)建公私鑰失敗怎么回事的信息別忘了在本站進行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網、IDC服務、應用軟件開發(fā)、網站建設推廣的公司,為客戶提供互聯(lián)網基礎服務!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。創(chuàng)新互聯(lián)成都老牌IDC服務商,專注四川成都IDC機房服務器托管/機柜租用。為您精選優(yōu)質idc數據中心機房租用、服務器托管、機柜租賃、大帶寬租用,可選線路電信、移動、聯(lián)通等。
本文標題:解決LinuxSSH無密鑰登錄失敗問題(linuxssh無密鑰失敗)
地址分享:http://m.fisionsoft.com.cn/article/cojcogg.html


咨詢
建站咨詢
