EC2にsftpで接続するユーザーを作成する

  • 4
    いいね
  • 0
    コメント

鍵の作成は別稿

http://qiita.com/dahugani/items/e1fc5c212bf6a7365f8f#2-2
だいたいこんな感じだけど、あとでちゃんと書く。

鍵を別に作成する前提だと、ひとつの鍵で複数のサーバーにログインできる。その代わりすべてのサーバーで以下の手順が必要。

ユーザーを作成する

sudo useradd sftpuser

sshでログインできるようにする(鍵認証)

authorized_keysファイルを準備

ホームディレクトリ直下に.sshディレクトリを作成して、authorized_keysという名称のファイルを配置する。1

sudo su -
cd /home/sftpuser/
ls -la
mkdir .ssh
cd .ssh
vi authorized_keys

ここで鍵のテキストを貼り付け&保存。(鍵の作り方↑)

パーミッション設定

以降は権限設定&オーナー変更(ダサい)

chmod 600 authorized_keys
chown sftpuser:sftpuser authorized_keys
cd ..
chmod 700 .ssh
chown sftpuser:sftpuser .ssh
exit

接続可能か確認(自PC→サーバー)

ssh -i hoge_rsa sftpuser@hostname

rsaファイルはここ(↑)で作成したもの。

sshでログインできないようにするw

sftpだけ使えればいい、sshは使わせたくない、という場合は以下を設定する。

ssh設定ファイルの変更

sudo vi /etc/ssh/sshd_config

設定ファイルの一番下あたりに次の行を追加。
/Matchとかで検索するのがいいかも。

Match User sftpuser
    ForceCommand /usr/libexec/openssh/sftp-server


複数ユーザーを指定したい場合はカンマ区切りでOK。

Match User sftpuser,otheruser
    ForceCommand /usr/libexec/openssh/sftp-server

sshdを再起動

sudo /etc/init.d/sshd restart

今後のTODO

  • authorized_keysって複数鍵あつかえんの?
    /etc/ssh/sshd_configAuthorizedKeysFileを複数設定?
    →そもそも考え方が間違ってたw sftpユーザ追加したのでauthorized_keysはユーザごとにユニーク。その代わりこの設定が必要。
  • 作成したユーザーにはホームディレクトリ以下しか触らせたくない。
  • ホームディレクトリではなく複数のユーザーで一つのディレクトを見るには?→ln使えばいいだけ?


  1. authorized_keysで認証できるのは、AMILinuxの初期設定だかららしい。