Centos

為什麼 ssh-copy-id 在這種情況下需要詳細的 LogLevel 才能工作?

  • December 20, 2016

我正在嘗試使用 WSL 在 CentOS 7.3 來賓上設置公鑰身份驗證。

嘗試使用 複製公鑰ssh-copy-id時,它被拒絕,說它已經存在於 VM 上。情況並非如此,因為它是全新安裝,.ssh而且/root.

搜尋了一下,錯誤的文件權限似乎是一個可能的錯誤,所以我執行了這些命令:

客人

chmod go-w ~

主持人

chmod go-w ~
chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/config
chmod 0600 ~/.ssh/id_rsa
chmod 0644 ~/.ssh/id_rsa.pub
chmod 0600 ~/.ssh/known_hosts

在伺服器sshd_config上啟用了公鑰身份驗證。結果ssh-copy-id是一樣的。

但是,當我執行ssh-copy-id -o "LogLevel VERBOSE" root@ip它時,它提示我輸入密碼,然後成功複製了密鑰。之後我可以使用ssh root@ip, 並使用我的密鑰成功進行身份驗證。

ssh使用密碼身份驗證一直有效。

為什麼它不能正常工作ssh-copy-id,但它確實使用ssh-copy-id -o "LogLevel VERBOSE"

我錯過了什麼?

Verbose不需要。INFO日誌級別就足夠了,因為它已經在上游儲存庫中修復了。

送出消息幾乎解釋了它:

LogLevel 設置為“None”,我們不會得到我們正在尋找的 Permission Denied。

這在預設配置中不是問題(因為預設值INFO根據手冊頁)。僅當您LogLevel=QUIET在某些配置文件中設置 時才會出現問題(這幾乎不是您想要的,除非您確定連接會成功或者您不在乎它是否成功)。

引用自:https://unix.stackexchange.com/questions/331613