SSH z kluczem prywatnym, Google Authenticator i SFTP


Postępowałem zgodnie z instrukcją, aby skonfigurować SSH przy użyciu klucza prywatnego i Google Authenticator i działa świetnie ... Wyłączyłem Rootaccess, prywatny klucz konfiguracji i uwierzytelniacz.
Następnie próbowałem zezwolić innemu użytkownikowi na logowanie tylko przez SFTP, ale miałem pewne problemy i zawsze otrzymywałem komunikat „Odmowa dostępu”.
Oto moja konfiguracja:

/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


/ itp./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_keyProtocol 2
SyslogFacility AUTHPRIVPermitRootLogin noPasswordAuthentication no
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactiveGSSAPIAuthentication yes
GSSAPICleanupCredentials noUsePAM yesX11Forwarding yesAcceptEnv 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 XMODIFIERSSubsystem sftp internal-sftpAllowUsers guest sftpuser <USER># SFTP
Match Group sftpusers
ForceCommand internal-sftp
ChrootDirectory/data/%u
PasswordAuthentication yes
AuthenticationMethods password


Przykład logowania SSH przy użyciu ważnego użytkownika:

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 ~]$


Przykład logowania SFTP przy użyciu prawidłowego użytkownika 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.

Próbowałem z tymi dwoma ustawieniami dla folderu domowego
drwxr-xr-x  4 <USER>  sftpusers 4096 Oct 26 01:08 <USER>
drwxr-x--- 4 <USER> sftpusers 4096 Oct 26 01:08 <USER>

To jest zawartość katalogu domowego pliku
-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

Każda rada jest mile widziana ...
Zaproszony:

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się