Linuxなどのメモ書き

ssh RSA公開鍵認証


Rev.9を表示中。最新版はこちら

sshdの設定

PasswordAuthenticationをnoにしてパスワード認証を行わないようにする。

/etc/ssh/sshd_config
  <略>
PasswordAuthentication no
  <略>

# /etc/init.d/sshd restart

鍵の作成

ここでは ssh v1の鍵を作成する。

# ssh-keygen -t rsa1
Generating public/private rsa1 key pair.
Enter file in which to save the key (/home/tomita/.ssh/identity):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tomita/.ssh/identity.
Your public key has been saved in /home/tomita/.ssh/identity.pub.
The key fingerprint is: 69:6d:4d:78:84:fd:13:3c:8d:41:a3:98:4e:a1:8f:85 tomita@xxxxxx.com
#

以下のファイルが作成される。
秘密鍵 ~/.ssh/identity
公開鍵 ~/.ssh/identity.pub

identity.pubの内容をリモートホスト(ログイン先)の~/.ssh/authorized_keysに登録する。初回作成の場合はパーミッションを644に設定しておく(余計にパーミッションが空いていると接続できない)。

# cat identity.pub >> ~/.ssh/authorized_keys
# chmod 644 authorized_keys

後は、以下のようにログインできる。パスフレーズには鍵を作成した時に指定したものを入力する。

# ssh 10.0.0.1
Enter passphrase for RSA key '/home/tomita/.ssh/identity':
Last login: Thu Apr  6 15:49:18 2006 from 10.0.0.2
#

パスフレーズ入力の省略

毎回パスフレーズの入力するのが嫌な場合は、パスフレーズをssh-addコマンドでデーモン(ssh-agent)に記憶させておくとよい。

ログイン後、ssh-agentを起動して、ssh-addでパスフレーズを記憶させてしまえば、接続時にパスフレーズを聞かれなくなる。

# eval `ssh-agent`
Agent pid 30763
# ssh-add
Enter passphrase for OpenSSH public key for xxxxx user:
Identity added: /home/tomita/.ssh/identity (OpenSSH public key for xxxxx user)
#

Fedoraではメニューから[デスクトップ] → [個人設定] → [他の個人設定] → [セッション]を実行して「自動起動するプログラム」にeval `ssh-agent`を入れておくとログイン後、いちいちssh-agentを手動で実行しなくてよいので便利。

ssh-agentの停止
起動したssh-agentはログアウト時に停止させた方がよい。
eval `ssh-agent -k`

.bash_logoutあたりにeval `ssh-agent -k`を入れておくとよい。



最終更新 2006/04/06 15:56:02 - kztomita
(2006/04/06 14:23:11 作成)


リンク

その他のWiki
Linuxメモ
Xnuメモ

会社
(有)ビットハイブ
受託開発やってます。

よくやる仕事

・Webシステム開発(LAMP環境)
・Linuxサーバー設定関連
サーバー移転作業代行

開発事例にデジタルカタログ/マンガビューワーを追加しました。

draggable.jsのスマホ対応版デモページを追加しました。説明はこちら

検索

Adsense
最近のコメント