sshを用いてリモートログインする際, 毎回パスワードを入力するのはイケてない. そこで,秘密鍵と公開鍵を用意しておいて パスワードなしで安全にリモートログインできる ように設定を行う.
一連の流れとしては,
$ ssh-keygen -t rsa
鍵の作成はssh-keygenで行うことができる. 生成された鍵が置かれる場所はデフォルトで"${HOME}/.ssh"である. そのディレクトリの中に,
$ cd ${HOME}/.ssh $ scp id_rsa.pub サーバへのログイン名@サーバのアドレス: (パスワード入力でファイルの転送) $ ssh サーバへのログイン名@サーバのアドレス (パスワード入力でリモートログイン) % cat id_rsa.pub >> ${HOME}/.ssh/authorized_keys % exit $ ssh サーバへのログイン名@サーバのアドレス (パスワードを聞かれずにログインできたら成功)
認証済み鍵の一覧は"${HOME}/.ssh/authorized_keys"に記載されている. 中身はテキストファイルなのでcadやlessコマンドで見ることができる. 各行が一つの公開鍵のエントリに対応しており,ファイルの最後に 自分の公開鍵を追加することでリモートログイン時に認証が行われる. また,各行の最後に鍵の生成元の識別子が入っているので エントリを削除したいときはそれを参考にしていらない行を消せば良い.