Ubuntu

設置 sftp 使用密碼但 ssh 不使用密碼

  • June 15, 2017

是否可以使用 openssh 在 ubuntu 上設置使用者,以便 ssh 不使用密碼身份驗證但 sftp 使用?

我假設如果我更改/etc/ssh/ssh_config為具有PasswordAuthentication yes此功能,則使用者可以使用密碼同時使用 ssh 和 sftp 登錄。

編輯:我在這裡的目的是讓一些使用者使用密碼而不是密鑰文件進行 sftp。但我不希望 ssh 使用者能夠使用密碼登錄,我希望他們必須使用密鑰文件。如果有幫助,我不需要 sftp 使用者能夠登錄,他們只需要執行 sftp。

據我了解,您有(至少對於這個特定問題)兩組不同的使用者,一組能夠通過 SSH 登錄並獲得互動式 shell(我們稱之為 group ssh),另一組能夠通過 SFTP 登錄並且只能獲得 SFTP外殼(我們稱之為 group sftp)。

現在創建組sshsftp在您的系統上使用groupadd,將相應的使用者放入組 ( ) 並在您位於gpasswd -a $USERNAME $GROUPNAME的末尾附加以下行(這很重要!):sshd_config``/etc/ssh/sshd_config

Match Group sftp
 PasswordAuthentication yes
 # Further directives for users in the "sftp" group

Match Group ssh
 PasswordAuthentication no
 # Further directives for users in the "ssh" group

閱讀sshd_config(5)Match中的指令和ssh_config(5)中允許的模式

您還必須重新啟動該ssh過程才能使其生效:

sudo /etc/init.d/ssh restart

引用自:https://serverfault.com/questions/154957