--------(--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2011-11-10(Thu)

Amazon EC2 + CentOS6でrootからアクセスできなくする

すること。
CentOSでインスタンスを生成するとデフォルトでrootからアクセスするようになっている。
セキュリティーが脆弱なのでrootからのアクセスを禁止したとえばpostgresユーザーを作成
してpostgresユーザーからのみ公開鍵を使ってsshログインできるようにしたい。

SSH
(1).postgresユーザーを作る。

$ su (ルートに入る)
$ adduser postgres
$ passwd postgres (postgresユーザーのパスワードを生成)
$ passwd (ついでにrootでパスワード生成->デフォルトではパスワードない)


(2).SSHの設定
キーを作る。

$ su postgres
$ ssh-keygen -b 1024 -t rsa


~/.sshに以下の2ファイルが生成される。
id_rsa (private key:秘密鍵)
id_rsa.pub (public key:公開鍵)
ローカルPCに公開鍵をおく。


ローカルPCで
$ cd ~/.ssh
$ vim authorized_keys
でid_rsa.pubの内容をコピペする、もしくは
ローカルPCにid_rsa.pubをコピーして以下を実行する。
$ cat id_rsa.pub >> authorized_keys


SSHの変更

$ vim /etc/ssh/sshd_config


変更点

# PermitRootLogin without-password (デフォルトではrootユーザーに対してパスワードなしでのログインが可能)
PermitRootLogin no (rootのログインを禁止する)
# PermitEmptyPasswords yes (デフォルトではパスワードなしのユーザーログインを許可する)
PermitEmptyPasswords no (パスワードなしのユーザーログインを禁止する)
# PasswordAuthentication yes (デフォルトではパスワード認証によるログインを許可している)
PasswordAuthentication no (パスワード認証ではなく鍵認証によるログイン)
最後に再起動する。
$ /etc/init.d/sshd restart


rootでログインできないことを確認する。

$ ssh -i xxxxxxx.pem root@ec2-xxx-xx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

できなくなりました。

$ ssh postgres@ec2-xxx-xx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
[postgres@ip-xx-xxx-x-xxx ~]$

ログインできました。
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

コメント

プロフィール

kumagonjp2

Author:kumagonjp2
Python,Django,R,Mongo,MySQL,Struts,Spring,データマイニングなどサーバー関係のメモを残していきます。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
雪が3Dで降るブログパーツ ver2

マウスで見る方向変えられます

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。