Назад | Перейти на главную страницу

SSH с приватным ключом, аутентификатором Google и SFTP

Я следовал руководству по настройке SSH с использованием закрытого ключа и аутентификатора Google, и он отлично работает ... Я отключил Rootaccess, частный ключ настройки и аутентификатор.

Затем я пытался разрешить другому пользователю входить в систему только через SFTP, но у меня были некоторые проблемы, и я всегда получал сообщение «Доступ запрещен».

Вот мой конфиг:

/etc/pam.d/sshd

#%PAM-1.0
auth       required     pam_sepermit.so
#auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare
auth [success=1 default=ignore] pam_succeed_if.so user ingroup group sftpusers
auth required pam_google_authenticator.so

/ и т.д. / SSH / sshd_config

Port 53000
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

Protocol 2
SyslogFacility AUTHPRIV

PermitRootLogin no

PasswordAuthentication no
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

GSSAPIAuthentication yes
GSSAPICleanupCredentials no

UsePAM yes

X11Forwarding yes

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

Subsystem       sftp    internal-sftp

AllowUsers guest sftpuser <USER>

# SFTP
Match Group sftpusers
ForceCommand internal-sftp
ChrootDirectory /data/%u
PasswordAuthentication yes
AuthenticationMethods password

Пример входа через SSH с использованием действующего пользователя:

login as: guest
Authenticating with public key "openssh-key"
Passphrase for key "openssh-key":
Further authentication required
Keyboard-interactive authentication prompts from server:
| Verification code:
End of keyboard-interactive prompts from server
Last login: Sat Oct 26 01:46:19 2019 from mob-109-112-40-115.net.vodafone.it

  CentOS Linux 7 (Core)

  Linux  #943709 SMP Fri Oct 18 08:31:47 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

[guest@servername ~]$ 

Пример входа через SFTP с использованием действующего пользователя SFTP:

[root@ns3156958 ~]# sftp -P <PORT> <USER>@XXX.XXX.XXX.XXX
The authenticity of host '[XXX.XXX.XXX.XXX]:<PORT> ([XXX.XXX.XXX.XXX]:<PORT>)' can't b                                                                                                                                                             e established.
ECDSA key fingerprint is SHA256:7Nc7ZynvuviXGJu1QJNYecHEbTZtRBZ9V5FqAf8pEtA.
ECDSA key fingerprint is MD5:95:0f:fa:54:ce:87:67:f4:86:05:c1:8c:ef:d0:25:8d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[XXX.XXX.XXX.XXX]:<PORT>' (ECDSA) to the list of known                                                                                                                                                              hosts.
<USER>@XXX.XXX.XXX.XXX's password:
Permission denied, please try again.

Я попробовал с этими двумя настройками для домашней папки

drwxr-xr-x  4 <USER>  sftpusers 4096 Oct 26 01:08 <USER>
drwxr-x---  4 <USER>  sftpusers 4096 Oct 26 01:08 <USER>

Это содержимое домашнего каталога файла

-rwxr-xr-x  1 <USER> sftpusers  119 Oct 26 01:42 .bash_history
-rwxr-xr-x  1 <USER> sftpusers   18 Aug  8 14:06 .bash_logout
-rwxr-xr-x  1 <USER> sftpusers  193 Aug  8 14:06 .bash_profile
-rwxr-xr-x  1 <USER> sftpusers  231 Aug  8 14:06 .bashrc
-rwxr-xr-x  1 <USER> sftpusers    0 Oct 26 01:53 .google_authenticator
drwxr-xr-x  2 <USER> sftpusers 4096 Oct 26 01:40 .ssh

Любой совет приветствуется ...