Ubuntu
設置 sftp 使用密碼但 ssh 不使用密碼
是否可以使用 openssh 在 ubuntu 上設置使用者,以便 ssh 不使用密碼身份驗證但 sftp 使用?
我假設如果我更改
/etc/ssh/ssh_config
為具有PasswordAuthentication yes
此功能,則使用者可以使用密碼同時使用 ssh 和 sftp 登錄。編輯:我在這裡的目的是讓一些使用者使用密碼而不是密鑰文件進行 sftp。但我不希望 ssh 使用者能夠使用密碼登錄,我希望他們必須使用密鑰文件。如果有幫助,我不需要 sftp 使用者能夠登錄,他們只需要執行 sftp。
據我了解,您有(至少對於這個特定問題)兩組不同的使用者,一組能夠通過 SSH 登錄並獲得互動式 shell(我們稱之為 group
ssh
),另一組能夠通過 SFTP 登錄並且只能獲得 SFTP外殼(我們稱之為 groupsftp
)。現在創建組
ssh
並sftp
在您的系統上使用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