
答案1
您的 SSH 用戶端日誌顯示客戶端是提供金鑰,但伺服器不提供接受它。這意味著下一步是查看您的伺服器的 sshd
日誌 ( journalctl -S -1h
),因為它們將包含金鑰被拒絕的原因 - 如果不是預設情況下,那麼肯定是在提高日誌等級之後(例如,新增LogLevel VERBOSE
或DEBUG
to/etc/ssh/sshd_config
將是一個好的開始)。
在這種情況下:
您產生的密鑰是不是同一個鑰匙您正在嘗試連線到。您產生並上傳的金鑰儲存在,但您從未告訴 SSH 客戶端在連接時使用該金鑰 - 正如您從客戶端日誌中看到的,它仍然使用預設值,這是一個完全不同的文件。
~/.ssh/id_macbook
~/.ssh/id_rsa
sshd 日誌會說在authorized_keys 中找不到所提供的金鑰。
連線時使用選項指定正確的金鑰
-i <file>
(或透過 ~/.ssh/config 中的 IdentityFile),或使用 將金鑰載入到 ssh-agent 中ssh-add <file>
。您的
authorized_keys
文件設定為世界可寫(可能是由於umask
伺服器上的奇怪設定?),這很可能導致 sshd 出於安全原因忽略該檔案。sshd 日誌會顯示權限「過於開放」。
將其更改
chmod
為只能由所有者存取。