2012年3月8日木曜日

CentOS6.2 鍵認証によるSSHログイン

鍵認証によるSSHログインを設定する。

公開キーと秘密キーを生成


自分はTera Term Proをよく使用するので、Tera Term Proで公開キーと秘密キーを生成。
Tera Term のメニューバーより[設定]-[SSHキー生成]、今回はDSAを使用する。
キーのパスフレーズとパスフレーズに任意のパスワードを入力し、[公開鍵の保存]と[秘密鍵の保存]ボタンを押して、それぞれ任意の場所に保存する


サーバへ公開鍵を設定


ログインするユーザフォルダ直下に.sshフォルダを作成し、ディレクトリのアクセス権を設定。
mkdir -p /home/[user]/.ssh/
chmod 700 .ssh/
chmod go-w /home/[user] /home/[user]/.ssh


公開鍵をサーバへ転送する、転送は Tera Term の場合 ターミナル画面へドラッグ&ドロップすると、SCP転送ができる。この時に出るポップアップメニューでは「SCP」を選択する。「ファイル転送」を選んでしまうと、ファイルの内容がターミナルに送信されてしまう。


送信したファイルは、最初にログインしたユーザのホームディレクトリ(/home/[user]/)に送信される。FTPで送信してもいいが、SCPの方が安全である。

公開鍵を.ssh/authorized_keys に移動(リネーム)、パーミッションを600に設定。
mv id_dsa.pub /home/[user]/.ssh/authorized_keys
chmod 600 authorized_keys


※所有者が異なる場合は権限をログインするユーザとする
chown [user] authorized_keys
chown [user] .ssh/


※chmodのパラメータ

//ユーザー表記
u 所有者
g グループ
o その他
a 全て

//権限指定
+ 後述権限の付加
- 後述権限を削除
= 後述権限に変更

//権限表記
r 読みだし権限
w 書き込み権限
x 実行可能権限
s セットID
t スティッキー・ビット

//文字 数値 内容
r 4 読みだし可
w 2 書き込み可
x 1 実行可能
※上記数値の組み合わせ(加算)により設定



sshd_configの編集
vi /etc/ssh/sshd_config

//パスワードでの認証を禁止
#PasswordAuthentication yes
PasswordAuthentication no

//公開鍵認証を許可(ssh2のみ)
#PubkeyAuthentication yes
PubkeyAuthentication yes

//authorized_keysの場所(user配下の.sshフォルダ)
#AuthorizedKeysFile .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys


sshをリロード、設定を反映させる
/etc/rc.d/init.d/sshd restart




秘密鍵でログイン



Tera Term Pro で接続する、
鍵を作成したときのパスフレーズを入力、作成した秘密鍵を設定し接続。



鍵認証によりログインができた。
Last login: Thu Mar  8 23:14:22 2012 from 192.100.xxx.xxx
[user@xs35v2 ~]$

0 件のコメント: