SSH公開鍵式方式でリモートサーバにアクセスするための手順を書き記します。
なんか、色々メンドクサイので備忘録として。
sshのインストールは、クライアント、サーバとも済んでいるものとします。
今回、Mac OS X lionクライアントから、Ubuntuサーバへsshを使って接続する状況を設定します。
windowsは知らぬyo...。
実行環境
クライアント:Mac OS X Lion
サーバ:Ubuntu 12.04 LTS(192.168.11.5)
手順1
サーバ側の準備
ホームフォルダ配下にある .sshフォルダのアクセス属性を700に設定
authorized_keysファイルを作成、このファイルのアクセス属性を600に設定
$ cd
$ chmod 700 .ssh
$ cd .ssh
$ touch authorized_keys
$ chmod 600 authorized_keys
手順2
クライアント側の準備
ホームフォルダ配下にある .sshフォルダのアクセス属性を700に設定
秘密鍵、公開鍵を作成する。
$ chmod 700 .ssh
$ ssh-keygen -t rsa
.sshフォルダ配下に、id_rsaとid_rsa.pubが作成されています。
手順3
クライアント側で作成した公開鍵(id_rsa.pub)をサーバ側へ転送
usb、メール、dropboxどういう形でも良いので、サーバ側へ秘密鍵を渡して下さい。
手順4
サーバ側authorized_keysへ、クライアント公開鍵(id_rsa.pub)を登録
$ cat id_rsa.pub >> authorized_keys
手順5
サーバ側のssh設定ファイルを修正し、sshdを再起動する
$ sudo vim /etc/ssh/sshd_config
下記の記述に類する行がコメントアウトされているので、行頭#を取って、有効にしてください。
RSAAuthentification no
PubkeyAuthentification yes
AuthorizedKeysFile %h/.ssh/authorized_keys
次に、パスワードでのアクセスを停止するため下記の設定をnoにして下さい。
PasswordAuthentification no
また、必須ではないですがsshdがバインドするポート番号(デフォルト22)を変更した方が、セキュリティ上好ましいと云えます。
Port 22
↓
Port 10022
sshdの再起動
$sudo service ssh restart
手順6
MacクライアントからUbuntu(192.168.11.5)へのsshアクセス
$ ssh -p 10022 ユーザ名@192.168.11.5
オプションpで指定してるのは、ポート番号です。手順5でボート番号をデフォルト(22)から変更している場合、
オプションpでポート番号を指定してアクセスしてください。
デフォルト(22) を変更していない場合、オプションpは必要ありません。
多分、これでsshでのリモートアクセスが可能となります。
sshは色々上手くいかないケースもあったり一筋縄では行かないのですが、
標準的な手順はこんな感じです。