server
SSH
Linuxコマンド

ロリポップに公開鍵認証でssh接続する

More than 1 year has passed since last update.

ロリポップのスタンダードorエンタープライズプランに加入しているとssh接続をしてファイルの転送やコマンドの実行をできるので便利です。
公開鍵認証によってターミナルから簡単にログインできる方法を紹介したいと思います。

まずは普通にログインしてみる

公開鍵認証を使用せずにssh接続をしてみます。
ターミナルで以下を実行してください。
(SSHのアカウント情報は管理画面→WEBツール→SSHで確認できます)

 $ ssh [SSHアカウント名]@[SSHサーバー名] -p 2222

次にパスワードを求められるので管理画面からコピペします。
間違いがなければログインが確認できたと思います。

公開鍵認証の設定

上記のようにログインの度にパスワードを打ち込むのはかなり手間になるので、公開鍵によってログインできるようにすると便利になります。

鍵の生成

まずはローカルで公開鍵・秘密鍵を生成します。

$ cd ~/.ssh
$ ssh-keygen -t rsa

パスフレーズを聞かれますが必要なければそのままEnterで大丈夫です。
これでid_rsaとid_rsa.pubが生成されたのが確認できると思います。.pubが付いている方が公開鍵、もう一方が秘密鍵です。

公開鍵の登録

次に生成した公開鍵をロリポップ側に登録します。
ロポップにログインし、ホームディレクトリで鍵の配置場所を作成します。

$ mkdir .ssh
$ touch ./ssh/authorized_keys

ターミナルの別タブを開き、ローカルからscpで公開鍵を転送してください。

scp -P 2222 id_dsa.pub [SSHアカウント名]@[SSHサーバー名]:~/

ロリポップ側に戻り、公開鍵を登録してあげます。
パーミッションの設定も忘れずに行いましょう。

$ cat id_rsa_loli.pub >> authorized_keys
$ chmod 600 authorized_keys

最後にローカルの.ssh/congigファイルにサーバー情報を入力します。

$ cd ~/.ssh/
$ vi config
Host lolipop(任意)
 User [SSHアカウント名]
 Hostname [SSHサーバー名]
 IdentityFile ~/.ssh/id_rsa
 Port 2222

これで以下のようにコマンドによって認証&ログインできるようになりました!

$ ssh lolipop

パスワードが聞かれずにログインで来ていれば成功です。聞かれてしまった場合は設定でミスをしている可能性があります。