Ssh
Keychain SSH Key Manager 防止在 CentOS 上進行 SFTP 登錄
我安裝
keychain
了這個並將其添加到我.bashrc
的 CentO 中,以幫助管理我的 SSH 密鑰:/usr/bin/keychain --clear $HOME/.ssh/id_rsa source $HOME/.keychain/$HOSTNAME-sh
因此,在 SSH 登錄時,系統會提示我輸入密鑰的密碼,該密碼將持續到重新啟動或會話終止。
啟用此功能後,任何 SFTP 登錄嘗試都會在身份驗證時停止。如何在不考慮 SFTP 登錄的情況下啟用鑰匙串支持?這可能嗎?我不想在需要做事時啟用/禁用。
看起來您的登錄 shell 是 bash,並且您的 SSH 伺服器配置為呼叫您的登錄 shell 來執行 SFTP 伺服器。
您可以設置 sshd 以直接執行 SFTP 伺服器,方法是在 中添加如下行
/etc/sshd_config
:Subsystem sftp /usr/lib/openssh/sftp-server
或者
Subsystem sftp internal-sftp
您也可以通過更改您的
.bashrc
. 這樣做的附帶好處是還解決了 ssh 的其他非互動式使用的問題,例如 scp、rsync 等。 bash 中有一個設計錯誤:它.bashrc
為互動式非登錄 shell 和非互動式遠端登錄載入貝殼,儘管這兩種情況完全沒有共同點。在您的頂部添加一個守衛,以.bashrc
在非互動式設置中忽略文件的其餘部分:[[ $- = *i* ]] || return