web-dev-qa-db-ja.com

パスワードを使用するようにsftpを設定しますが、パスワードを使用しないようにsshを設定します

Sshがパスワード認証を使用しないがsftpが使用するようにopensshを使用してubuntuでユーザーを設定することは可能ですか?

/etc/ssh/ssh_config 持つため PasswordAuthentication yesこれにより、ユーザーはパスワードを使用してsshとsftpの両方でログインできるようになります。

編集:ここでの私の目的は、一部のユーザーがキーファイルではなくパスワードを使用してsftpを実行できるようにすることです。しかし、私はsshユーザーがパスワードでログインできるようにしたくないので、キーファイルを使用する必要があります。それが役立つ場合は、sftpユーザーがログインできるようにする必要はありません。sftpを実行するだけで済みます。

15
dar

私が理解しているように、(少なくともこの特定の問題について)2つのdistinctユーザーグループがあり、1つはSSH経由でログインしてインタラクティブシェル(グループssh)を呼び出して、SFTP経由でログインしてSFTPシェルのみを取得できるようにします(グループをsftpと呼びます)。

次に、sshを使用してシステムにグループsftpgroupaddを作成し、それぞれのユーザーをグループ(gpasswd -a $USERNAME $GROUPNAME)に入れて、最後に次の行を追加します(これは重要です!sshd_configにある/etc/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

26
joschi

いいえ、これによってセキュリティがどのように改善されるかはわかりません。そのため、何が重要なのでしょうか。

authorized_keys を使用すると、異なるキーに対して異なるコマンドを許可できます。それ以外の場合は、複数のアカウントを作成し、ACLまたはSudoを使用するオプションがあります。

0
Tobu

ここで暗闇の中で刺しますが、このスレッドは興味深いかもしれません。

SFTPユーザーをホームディレクトリに投獄することは公正ですか?

0
Tyler K