EC2インスタンスでUbuntuサーバーを実行しています。そのサーバーにログインするには、パスワードなしの証明書ファイルを使用します。
Vsftpdをインストールして構成し、/ bin/false sshターミナルを設定したユーザー(「testuser」と呼びましょう)を作成しました。これにより、sftp経由でのみ接続し、自宅のファイルにアップロード/アクセスできるようになります。ディレクトリ。
ただし、コンピュータからサーバーに接続しようとすると、
sftp testuser@my-ec2-server
私は得る
権限が拒否されました(公開鍵)。
接続が閉じられました
メッセージが表示されるため、ログインできません。
このユーザーのみの証明書要件を削除するにはどうすればよいですか(つまり、「ubuntu」ユーザーは引き続き証明書ファイルを使用してssh経由でログインする必要があります)。そのため、通常のsftpクライアントはユーザー名とパスワードを使用して接続できますか?
ありがとうございました。
PSマイクロインスタンスで64ビットの正規のUbuntu Server 10.10公式AMIを使用しています。
あなたが望むことを達成するために、あなたは2つの異なることをする必要があります
まず、これを行うのは悪い考えだと言います。パスワードをアクティブにするのではなく、ユーザーの証明書を生成したいのですが、そうしたい場合は、/etc/ssh/sshd_config
を編集して、コメントを変更するか、コメントを外してください。 PasswordAuthentication yes
。完了したら、sshdを再起動しますservice ssh restart
Rsh(限定シェル)をインストールして、ユーザーシェルをそれに変更する必要があることを達成するには、chsh username
許可するための段階的なガイドは次のとおりです。
まず、/ etc/ssh/sshd_configファイルを編集します。
Sudo nano /etc/ssh/sshd
下にスクロールして変更します。
PasswordAuthentication yes
これを一番下に追加します:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
Ctrl-Xを押して終了し、保存します。
次に、ユーザーを追加します。
Sudo useradd bob
Sudo passwd bob
ここでグループを追加し、sshを無効にします。
Sudo groupadd sftpusers
Sudo usermod -g sftpusers bob
Sudo usermod -s /usr/bin/rssh bob
Sudo usermod -d /home/bob bob
次に、権限を設定します。
Sudo chown root:root /home/bob/
Sudo chmod 755 /home/bob/
Sudo mkdir /home/bob/uploads
Sudo chown bob /home/bob/uploads
Sudo service sshd restart
これはすべて、rootユーザー(Amazon Linux AMIのec2-user)としてログインしているときです。