SSHユーザーを構成して設定する方法は?

SSHユーザーを構成して設定する方法は?

すべてのユーザーが私のサーバーへのあらゆる種類のアクセスに公開/秘密鍵を使用できることを願っています。 SSH構成では3つのグループを設定します。

  1. sshaccess:ユーザーはシェル、SFTP、トンネルを使用できます。
  2. sftpaccess: ユーザーはシェルを使用できませんが、SFTP は使用できます。
  3. mysqlaccess: ユーザーはシェルを使用できませんが、ポート 3306 で TCP 転送を使用できます。

次の3つのグループへのSSH接続のみを許可します。

AllowGroups sshaccess sftpaccess mysqlaccess

グループを持つユーザーの場合は、sftpaccessSFTPを強制し、ホームフォルダにユーザーをロックします。

Match Group sftpaccess
    ForceCommand internal-sftp
    ChrootDirectory %h
    PermitTunnel no
    AllowAgentForwarding no
    AllowTcpForwarding no

グループを持つユーザーの場合は、mysqlaccessポート3306でトンネリングを許可します。

Match Group mysqlaccess
    Banner no
    PermitTunnel yes
    AllowTcpForwarding yes
        PermitOpen 127.0.0.1:3306

しかし、ユーザーがいて、caique彼に次のものが必要だとしましょう。

  • ホームフォルダにロックされているSFTPにアクセスします。
  • 資格情報を使用して接続するには、MySQLトンネルにアクセスしてください。

SFTP用のユーザーとMySQL Tunnel用のユーザーをそれぞれ作成したくありません。これを達成するための最良の方法は何ですか?

MySQLポートを公開したくないので、MySQL Tunnelを使用します。ただし、テストで接続されているユーザーと一緒にトンネルを使用することはできませんsftpaccess。何を見逃していますか?

ベストアンサー1

次のセクションはどうですか?

Match Group sftpaccess Group mysqlaccess
    ForceCommand internal-sftp
    ChrootDirectory %h
    AllowAgentForwarding no
    Banner no
    PermitTunnel yes
    AllowTcpForwarding yes
        PermitOpen 127.0.0.1:3306

もちろん、これを繰り返す必要があり、sshdがすべてのユーザーグループをロードしているかどうかに応じて動作する場合と動作しない場合があります(と思います)。

あるいは、ユーザー固有のユーザーを作成することもできますMatch(これはこれらのユーザーをより多く獲得できないと仮定する傾向があります)。

私はルールの順序が重要だと思いますが、これが(他の2つのルールと比較して)最初か最後かはわかりません。私の考えでは、それが1位になるべきだと思います。

おすすめ記事