UbuntuサーバーへのUbuntu SFTP接続は、「権限が拒否されました。再試行してください」というメッセージで拒否されます。

UbuntuサーバーへのUbuntu SFTP接続は、「権限が拒否されました。再試行してください」というメッセージで拒否されます。

ローカルネットワークにプライベートサーバーが接続されており、最近いくつかのメディア転送用にSFTPサーバーを設定したかったです。ところが、接続しようとするとパスワードを聞いてみますが、パスワードが正しいのに「権限が拒否されました。もう一度お試しください」というエラーが出ます。

サーバー管理用のデフォルトのSSHアカウントがあり、公開鍵認証を使用すると正常に機能します。

通話の他のユーザーがsftp-defaultグループにいますsftpsftp-defaultパスワードを設定しました。# passwd sftp-default

私の/etc/ssh/sshd_configは次のようになります(コメントを省略)。

Include /etc/ssh/sshd_config.d/*.conf
Port 468

HostKey /etc/ssh/ssh_host_ecdsa_key

PubkeyAuthentication yes
PasswordAuthentication yes
ChallengeResponseAuthentication yes

UsePAM yes
AuthenticationMethods publickey,password publickey,keyboard-interactive

X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

Match User sftp-default
        PasswordAuthentication yes
        AuthenticationMethods password,publickey
        ChrootDirectory /mnt/raid/mediaServers/sftp
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp

/mnt/raid/mediaServers/sftp には次の権限がありますstat

  File: /mnt/raid/mediaServers/sftp
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 821h/2081d      Inode: 3014657     Links: 4
Access: (0755/drwxr-xr-x)  Uid: ( 1004/sftp-default)   Gid: ( 1004/    sftp)
Access: 2023-01-02 15:41:30.271437209 +0100
Modify: 2022-09-04 17:14:16.724283747 +0200
Change: 2023-01-02 15:41:30.287436770 +0100
 Birth: 2022-09-04 16:12:38.458449835 +0200

sftp -P 468 sftp-default@<local_ip>パスワードを3回入力しようとすると、次のような結果が表示されます。

sftp-default@<local_ip>'s password: 
Permission denied, please try again.
sftp-default@<local_ip>'s password: 
Permission denied, please try again.
sftp-default@<local_ip>'s password: 
sftp-default@<local_ip>: Permission denied (password).
Connection closed.  
Connection closed

注:<local_ip>ローカルIPアドレス。

SSHを介した接続は同じ方法で拒否されます。実行ssh sftp-default@<local_ip> -p 468 -v、出力:

OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to <local_ip> [<local_ip>] port 468.
debug1: Connection established.
debug1: Local version string SSH-2.0-OpenSSH_8.9p1 Ubuntu-3
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.9p1 Ubuntu-3
debug1: compat_banner: match: OpenSSH_8.9p1 Ubuntu-3 pat OpenSSH* compat 0x04000000
debug1: Authenticating to <local_ip>:468 as 'sftp-default'
debug1: load_hostkeys: fopen /home/%user%/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:WK/sXtplQBRUA/guEF9HF6XiMZORiXdPVwweF5m467Q
debug1: load_hostkeys: fopen /home/%user%/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '[<local_ip>]:468' is known and matches the ECDSA host key.
debug1: Found key in /home/theophil/.ssh/known_hosts:5
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: get_agent_identities: bound agent to hostkey
debug1: get_agent_identities: ssh_fetch_identitylist: agent contains no identities
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,[email protected],ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected]>
debug1: kex_input_ext_info: [email protected]=<0>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: password
debug1: Next authentication method: password
sftp-default@<local_ip>'s password: 

[2 more authentication tries]

debug1: Authentications that can continue: password
debug1: No more authentication methods to try.
sftp-default@<local_ip>: Permission denied (password).

注:スパムフィルタのために一部の部品を取り出す必要がありました。ローカルIPアドレスをに<local_ip>、サーバーに接続するユーザー名をに%user%、いくつかのSHAチェックサムをに置き換えます[Checksum hidden]

私が逃したことは明らかですか?この問題の解決策を説明するオンラインがたくさん見つかりません。

これが何を意味するのかは分かりませんが、Subsystem sftp /usr/lib/openssh/sftp-serverコメントアウトしてSSHデーモンを再起動しても問題は解決しません。

UFWでポート468を開きました。 SFTPはデータ転送に別のポートを使用しますか?また、777(drwxrwxrwx)権限/mnt/raid/mediaServers/sftprootユーザーをsftp-default試してみました# chown sftp-default:sftp -R /mnt/raid/mediaServers/sftp# chmod 777 -R /mnt/raid/mediaServers/sftp

ベストアンサー1

Google Authenticator PAMモジュールへの回答が見つかり、デフォルトのSSHアカウントに2FAを設定しました。どういうわけか設定されていないすべてのアカウントへのアクセスをブロックしましたsftp-default。私にとっての解決策は、グループのGoogle Authenticator PAMモジュールを無効にすることでした。sftp私は次の行でこれを行いました/etc/pam.d/sshd

#Disable SSH PAM authentication for SFTP-Users
auth [success=done default=ignore] pam_succeed_if.so user ingroup sftp

これですべてがうまくいき、私のアカウントを使ってログインできますsftp-default

sftp-default@<local_ip>'s password: 
Connected to <local_ip>.
sftp> pwd
Remote working directory: /mnt/raid/mediaServers/sftp
sftp> bye

おすすめ記事