リモートホストへ公開鍵認証でログイン
ここではVirtual Box上にインストールしたFedora 23 serverへ公開鍵認証でログインするための設定をlog.下のページの続き.
walkingmask.hatenablog.com
環境
Mac OS X El Capitan (10.11.1)
Fedora 23 server
VirtualBox 5.0.8
リモートホストへsshできるかを確認
ssh ユーザ名@ホスト名
のようにローカルマシン(Mac)のターミナル上でコマンドを実行し,リモートホストへパスワード認証できるか確認.Fedoraのrootユーザなら
ssh root@192.168.56.101
ローカルで秘密鍵と公開鍵を作成
公開鍵認証を行うための鍵を作成する.以下の操作は全てローカルマシン上で.
以下のコマンドを実行していく.
mkdir ~/.ssh chmod 700 .ssh cd .ssh ssh-keygen
すると次のように聞かれるので入力していく.ここでは試しに鍵の名前をtest_rsa,パスフレーズをtest testで作成する.これらは任意に変更可能.
Generating public/private rsa key pair. Enter file in which to save the key (/Users/test/.ssh/id_rsa): test_rsa Enter passphrase (empty for no passphrase): test test Enter same passphrase again: test test
何か変なAAみたいなのが出力されたら成功.試しに以下のコマンドを実行してtest_rsaがあることを確認する.
ls ~/.ssh
公開鍵をリモートホストに登録
先ほど作成した鍵のうち公開鍵(.pub)の方をsshとscpコマンドを使ってリモートホストに登録する.
scp ~/.ssh/公開鍵 ユーザ名@ホスト名:
のようにローカルでコマンドを実行するとリモート上に公開鍵をコピーすることができる.Fedoraのrootユーザに対してtest_rsaを送るなら
scp ~/.ssh/test_rsa.pub root@192.168.56.101:
次に,sshでログインしてリモートホスト上で鍵の登録を行う.以下の操作は全てリモート上で.
mkdir .ssh chmod 700 .ssh cd .ssh touch authorized_keys chmod 600 authorized_keys cat ~/test_rsa.pub >>~/.ssh/authorized_keys rm ~/test_rsa.pub cat authorized_keys
これでauthorized_keysに何かごちゃごちゃ書いてあれば,リモートホスト上での鍵の登録が完了したはず.
ローカルマシンからsshで公開鍵認証
ローカルマシンのターミナルから以下のコマンドを実行する.
ssh -i ~/.ssh/test_rsa ユーザ名@ホスト名
Fedoraのrootになら
ssh -i ~/.ssh/test_rsa root名@192.168.56.101
多分パスワードを聞かれるということは公開鍵認証に失敗している.以下のコマンドを実行.
vi /etc/ssh/sshd_config
下記の3点の#を消して保存.設定を変更する.
#Protocol 2 #RSAAuthentication yes #PublickeyAuthentication yes
これでもう一度ssh -i〜すれば成功するはず.パスフレーズを聞かれるので入力する.その他,セキュアな設定などについてはググる.