さくらのレンタルサーバでSSH公開鍵認証
サーバについての記事です。
さくらのレンタルサーバを利用するときにターミナルでSSHを使う事が増えたのでメモ。
SSHのプロトコルを使用してサーバと接続を行う時に、パスワード認証と公開鍵認証という二つの認証方式があるようです。
参考ページ
パスワード認証
SSH接続を行ったときにログインするときにパスワードを入力して接続する方法です。SSHでデフォルトで使われている認証方式です。接続はtelnetとは異なりパスワードの送信時もパスワードの暗号化をしてセキュアな通信を実現します。
実際に接続すると以下のような認証になります。
$ ssh username@username.sakura.ne.jp username@username.sakura.ne.jp's password:パスワードを入力 Welcome to FreeBSD!
RSA認証
公開鍵と私有鍵というキーのペアを作成して公開鍵をサーバにおいておきます。キーは必ずペアになって作成されます。公開鍵が通信の暗号化を担っていて私有鍵は暗号化された通信の内容を解除するために必要になります。この方法で接続をすれば私有鍵を所有している端末から接続をする事ができます。
環境としてはMacで行っています。
鍵の作成
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/username/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/username/.ssh/id_rsa. Your public key has been saved in /Users/username/.ssh/id_rsa.pub. The key fingerprint is: 28:c8:3f:21:67:65:fd:3a:b0:33:08:45:49:68:1e:62 username@computername.local The key's randomart image is: +--[ RSA 2048]----+ | oo. | |.E+.. . | |.+ .. o . | | ..o o . . | | = = o S . | | * + o . | | + + o | | . o . | | | +-----------------+
Enter file in which to save the key (/home/username/.ssh/id_rsa):
接続する時のパスフレーズ。空欄は危険なのでパスフレーズを必ず入力する。パスフレーズを未入力で使う事もできますが、セキュリティ上良くないと思います。
それは家の鍵を開けたまま外出をしている事と同じになり、見知らぬ人がコンピュータに侵入されてしまう恐れがあります。
Enter passphrase (empty for no passphrase):
接続する時のパスフレーズ。空欄は危険なのでパスフレーズを必ず入力する
Enter same passphrase again:
確認のための入力を行う。
鍵ができているかを確認
$ cd .ssh $ ls id_rsa id_rsa.pub known_hosts
サーバにid_rsa.pubを転送してauthorized_keys2にリネームする
$ scp id_rsa.pub username@username.sakura.ne.jp:/home/username/.ssh/authorized_keys2 username@username.sakura.ne.jp's password:
サーバにsshでログイン
$ ssh username@username.sakura.ne.jp username@username.sakura.ne.jp's password:パスワードを入力 Welcome to FreeBSD!
.sshフォルダのパーミッションの変更をします。
%chmod 700 /home/username/.ssh
確認
%ls -al /home/username/ %drwx------ 2 username users 512 May 30 17:16 .ssh
authorized_keys2のパーミッションを確認
%cd .ssh %ls -al -rw-r--r-- 1 username users 410 May 30 19:06 authorized_keys2 -rw------- 1 username users 1743 May 30 17:16 id_rsa
作成した鍵のパーミッションを400に変更
%chmod 400 authorized_keys2
確認してログアウト
%ls -al -r-------- 1 username users 415 May 30 18:06 authorized_keys2 %exit
RSA認証になるかを確認
$ ssh username@username.sakura.ne.jp
コマンドを入力するとダイアログボックスが表示されましたので成功しているようです。
パスワードの欄に先ほど作成をしたパスフレーズを入力して接続します。
ここでの注意はサーバに接続する時のパスワードではありません。
Identity added: /Users/username/.ssh/id_rsa (/Users/username/.ssh/id_rsa) Welcome to FreeBSD!
二回からパスフレーズを入力しないようにするためにはパスワードをキーチェーンに保存するにチェックをつけておけば大丈夫です。
設定は以上です。