Hyper-研究所@宴

春風の 花を散らすと見る夢は 覚めても胸の さわぐなりけり

ようこそ

s-count

現在プレイ中のゲーム

  1. ポケットモンスター ホワイト
  2. 天鳳
  3. ドンキーコングリターンズ
  4. マリオカートWii
  5. タイプウェル

How to SSH

2006年08月24日 00時32分59秒 | Weblog
OpenSSH の場合です。

SSHクライアントを動かしたいユーザに入って、
ssh-keygen -t [dsa/rsa]
すると、~/.ssh/ に id_dsa (id_rsa) (秘密鍵)、id_dsa.pub (id_rsa.pub) (公開鍵) というファイルが生成される。
ssh-keygen は対話式で進められるが、途中の passphrase 以外はデフォルトで構わない。
passphrase さえ、空パスワードでログインするならば不要である。
空パスワードでも、秘密鍵がクライアント側に無ければ認証に失敗するので、結構安全かも知れない。
ただ、勿論設定しておいた方が良いのは言うまでもない。
なお、次からはDSA形式の鍵を生成したとする。
RSA形式でも、単にdsaをrsaに置き換えるだけでよい。

この状態で、
cd ~/.ssh/
しておいて、
cp id_dsa identity
する。これで、SSHクライアントが用いる秘密鍵が設定されたことになる。

公開鍵はSSHサーバ側へ転送する。
公開鍵は改ざんされなければ盗聴されても問題ないので、単純にリムーバブルメディアを通してコピーしたり、もしくは、次のように netcat を用いて転送する。
(SSHサーバ側) nc -l 4444 >> ~/.ssh/authorized_keys
(SSHクライアント側) nc [SSHサーバのIPアドレス] 4444 ‹ id_dsa.pub
SSHサーバ側では、SSH接続されたいユーザに入っておくか、もしくは他ユーザのホームディレクトリにアクセスできる権限を持ったユーザで入り、~ を書き換えて使う。
authorized_keys には、SSHサーバが信頼するSSHクライアント公開鍵の一覧が格納されることになる。
従って、むやみやたらに authorized_keys に公開鍵を追加することは絶対にしてはならない。

これで、SSHクライアントからSSHサーバへ接続する準備が整った。
接続するには、
ssh [user_name]@[server_ip_address]
とすればよい。
passphrase を設定している場合には対話的に passphrase を要求される。

とりあえず推測の域でSSHの動きを説明。
SSHクライアントがSSHサーバに接続要求を出し、スリーハンドシェイクでSSH接続が確立する。
すなわち、
1.SSHクライアントがSSHサーバへ接続要求
2.SSHサーバは該当するSSHクライアントの公開鍵を検索し、その公開鍵を用いて共通秘密鍵を暗号化してSSHクライアントに送信。
3.SSHクライアントは秘密鍵を用いて共通秘密鍵を復号化し、互いに共通秘密鍵を共有したところで暗号化されたトンネルが完成する。
みたいな感じかな?
正直良く分かってませんが。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする