クライアント機がUNIX(Mac含む)の場合
さて今度はLinuxやMacで鍵の作成をする場合です。コンソールというかターミナルというかなんかそんな感じのものを使います(コンソールとターミナルの違いがよく分かってない)。ちなみにMacの場合,ターミナルはアプリケーション→ユーティリティの中に入っています。
ssh-keygenとコマンドを打つと,SSH2のRSA方式の鍵が作成されます。
Generating public/private rsa key pair. Enter file in which to save the key (/home/ユーザ名/.ssh/id_rsa): ←そのままEnterを押す Created directory '/home/ユーザ名/.ssh' Enter passphrase (empty for no passphrase): ←SSHでログインする際のパスワードを考えて入力 Enter same passphrase again: ←上で入力したパスワードを再度入力 Your identification has been saved in /home/ユーザ名/.ssh/id_rsa. Your public key has been saved in /home/ユーザ名/.ssh/id_rsa.pub. The key fingerprint is: 01:23:45:67:89:ab:cd:ef:fe:dc:ba:98:76:54:32:10 ユーザ名@ホスト名
といったようなやり取りで~/.ssh以下にid_rsaとid_rsa.pubという2つの鍵ファイルが作成されます。このうち公開鍵であるid_rsa.pubをホスト機に移動させ,authorized_keysファイルに登録します。もしGUIな環境でファイラ等を使用して公開鍵をUSBメモリにコピーできるなら,その方法がいちばん簡単です。残念ながらCUI環境だよーとかドットで始まるディレクトリはファイラじゃ見えないよ!という方はコンソールやターミナルでコマンドを打つことになります。
Linuxの場合のUSBメモリのマウント及びUSBメモリへのコピーの方法は以下の通りとなります。
sudo mkdir /mnt/usb sudo mount /dev/sda1 /mnt/usb sudo cp ~/.ssh/id_rsa.pub /mnt/usb sudo umount /dev/sda1
Macの場合,USBメモリは自動的にマウントされます。大抵のケースではUSBメモリには名前がついていないため, "NO NAME" という名前でマウントされていると思います。Macの場合はストレージは/Volumesにマウントされるため,マウントされたUSBメモリを指定する場合は "/Volumes/NO NAME" で良さそうな気がしますが,これではエラーが出ます。ガーン。じゃぁどう指定してあげればいいのかというと, "/Volumes/N" まで入力したときにTABキーを押してあげるんです。そうすると自動補完機能が働いて勝手に残りが入力されます。ということでMacの場合のコピーのコマンドは次の通りとなります。
sudo cp ~/.ssh /Volumes/NO¥ NAME/
以上がクライアント機での作業です。ここからはサーバ機(FIVA)での作業となります。USBメモリからサーバ機へ公開鍵をコピーする場合のコマンドはWindows編を参照のこと。そしてauthorized_keysへの登録は以下の通り。
cd ~/.ssh cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys
登録が終わったらサーバ機のid_rsa.pubファイルは削除し,SSHを再起動させれば終了です。別のクライアント機からサーバ機にSSHで接続したい場合,クライアント機で公開鍵と秘密鍵のペアを作成し,サーバ機に公開鍵を追加登録するというこれらの一連の作業を繰り返すことになります。次回はクライアント機からサーバ機へのSSHでの接続の方法を紹介します。





Comments