Ssh

Keychain SSH Key Manager 防止在 CentOS 上進行 SFTP 登錄

  • September 14, 2014

我安裝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

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