是否可以使用openssh在ubuntu上设置用户,以便ssh不使用密码验证,但sftp可以吗?
我假设如果我将/ etc / ssh / ssh_config更改为具有PasswordAuthentication,则可以使用户使用密码登录ssh和sftp.
编辑:我的目的是让一些用户sftp使用密码而不是密钥文件.但我不希望ssh用户能够使用密码登录,我希望他们必须使用密钥文件.如果它有帮助,我不需要sftp用户能够登录,他们只需要做sftp.
据我所知,你有(至少对于这个特殊问题)两个不同的用户组,一个能够通过SSH登录并获得一个交互式
shell(让我们调用组ssh),一个能够通过SFTP登录并且只能获得一个SFTP shell(让我们调用组sftp).
现在使用groupadd在系统上创建组ssh和sftp,将相应的用户放在组中(gpasswd -a $USERNAME $GROUPNAME)并在/ etc的sshd_config末尾添加以下行(这很重要!) / 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