本サイトではアフィリエイト広告を利用しています
ロリポップ!で SSH 公開鍵認証の設定

サーバー セキュリティ ネットワーク 設定

[lolipop]ロリポップ!で SSH 公開鍵認証の設定するには?

2023年1月13日

本ページはこんな方におすすめ

  • ロリポップ!のハイスピード以上のアカウントを所持してる人
  • ロリポップ!の上級者向け設定に手を出したい人
  • コンソールからの操作が大好きな人

ロリポップ! は安いくせに速くて、小規模アクセスの WordPress する程度なら足りてしまうサーバーです。老舗のサーバー会社ではありますが、管理画面の色遣いなどからしても、ターゲットがいわゆるヤング向け(多分気持ちがヤング)なので、誰でもやること以外のサーバーの設定の説明が足りていません。

ここでは、ロリポップ に SSH アクセスするための公開鍵認証を設定する手順をステップ・バイ・ステップでみていきます。
SSH アクセスがどれほどの人に必要とされているのかは別として、私の場合は SSH できないようなサーバー、許可しないようなプランは緊急事態に対応できないので、まず本気で契約しません。(試験的に数年単位でテスト契約することはあります、安物のプランを・・・)

ロリポップ!レンタルサーバー

ロリポップ!公式サイトはこちら

ロリポップ!レンタルサーバー

ssh できると何がうれしいのか?

ロリポップは ssh アクセスを許可していますが、root 権限でアクセスできるわけではないので注意してください。root 権限でアクセスして自分でバリバリアプリ設定、チューニング
はたまたウェブアプリ作成みたいなことまでしたいのであれば、VPS を使いましょう。

ロリポップで ssh できることは、ウェブページのバックアップや WordPress がプラグインのエラーでログインすらできなくなってしまったときの復旧などです。

ロリポップ!はでSSHについては基本的にサポート外となっています。
自称初心者の方は、設定までしなくても、SSH ができるということだけ知っていればいいかと思います。

ロリポップ!で SSH が使えるように設定する

ロリポップ ssh 有効設定

ロリポップ!の仮画面にアクセスして、図を参考に ssh を有効にします。

ロリポップ!レンタルサーバー

ロリポップ!公式サイトはこちら

ロリポップ!レンタルサーバー

ロリポップ!では ssh のパスワードは32文字のランダム文字で自動生成されます。原則は自分の好きなパスワードを設定できません。というのも、ssh でユーザーのパスワードが流出すると、ウェブサイトが書き換えられるどころか、まるごと消されてどこかに転送されてしまうような悪さも秒速で可能ですので、リスクが大きいです。

そのため、デフォルトで作成されるパスワード、覚えにくいランダムなものが与えられますので、この長いパスワードを使って、初めの一回(設定終えるまで)順次、以下の作業をします。

Windows 版ターミナルは TeraTerm がおススメ!

私としては Windows ユーザーは Cygwin の ssh を使えば手っ取り早いと思うのですが、初心者はこの手のコンソールを嫌う傾向があるので、TeraTerm SSH をおすすめします。PuTTY も安定して使いやすいのですが、初心者は TeraTerm から始めた方がなじみやすいかと思います。

TeraTerm は https://ttssh2.osdn.jp/ からダウンロードしてください。
(注) OSDN が中華資本となったため、安定性に問題が出てきたそうで、公式サイトが移転しています。

TeraTerm は https://teratermproject.github.io/ からダウンロードしてください。無料で利用できます。

作成する鍵の種類ですが、これもこだわるといろいろあるところですが、おすすめは「ED25519」です。
現在のところ、安全性と認証の俊敏さに優れているとされています。弱い規格のものをわざわざ使う必要はないと思います。

なお、上で作成するのは主に秘密鍵ですので、その秘密鍵にはパスワードをかけてロックすることができます。秘密鍵の管理がしっかりできるのであれば、パスワードはかけなくても(空白のままでも)問題ありません。その場合は、秘密鍵を持っている人は誰でもパスワードなしで、ssh でサーバーにアクセスできることになります。

特にファイル名を指定しない場合は、id_ed25519.pub は公開鍵、拡張子なしの id_ed25519 が秘密鍵になります。
秘密鍵が大切なもので、これはなくしてはいけません。この鍵を持っている人(自前のラップトップなどに保存している人)だけが、ssh サーバーにログインできるように設定していきます。

ロリポップ!レンタルサーバー

ロリポップ!公式サイトはこちら

ロリポップ!レンタルサーバー

デジタル署名アルゴリズムのEd25519はかなり強力な手段ですが、世級通りにライブラリを構築してシステムを組むと、十分に性能を発揮しにくくなることが指摘されています。そのため重要なところをすっ飛ばしたり簡略化したりしたライブラリで補うような場合があり、その場合は当然セキュリティホールになります。基本安全ですが、システムを軽く組んでいる場合はヤバイこともあるので(それでもまだマシですが)、過信しないように注意しましょう。
TeraTerm で秘密鍵と公開鍵を作成する

TeraTerm ssh-keygen

ロリポップ!で SSH 公開鍵認証で接続するための設定

SSH 公開鍵認証で SSH する場合は、デフォルトのパスワード認証よりずっと安全です。またこの場合のパスワードは、自分の秘密鍵に対するパスワード設定ですので、秘密鍵さえ流出しなければ、多少パスワードを緩くしていても安全性はまだ高いです。

そのため、当サイトとしても、おそらく一般的にも SSH 公開鍵認証を設定して、SSH をする場合には、SSH公開鍵認証以外の認証を受け付けないようにするのが安全です。ただし、ロリポップでは root 権限で作業できるわけではないので、サーバーの設定を変更することはできません。つまり、パスワード認証を拒否する設定ができません。そのため、パスワード(プレインパスワード)が解読されやすい弱々のものだと、セキュリティホールを自ら開けているようなものですので注意してください。

Cygwin で接続して公開鍵を登録する場合

Cygwin をインストールしている人は、公開鍵(ed25519.pub)を保存したディレクトリに移動して、

 bash
$ssh-copy-id -p 2222 -i ed25519.pub アカウント名@ssh.lolipop.jp

とやれば、あとはロリポップの ssh のパスワードを入力して、公開鍵をサーバーにアップロード・登録できます。
この方法は、ディレクトリ移動や作成、ファイル追加までまとめてやってくれるので、お手軽に思いますが、Cygwin など不要というポリシーをお持ちの方もいるはずで、TeraTerm で ssh ログインして手動で登録することもできます。Cygwin を利用していない場合は、この節はとばして次に進んでください。
Cygwin 使い、UNIX 使いはこの節で設定はほぼ終わります。

なお、ssh を有効化するときに発行された複雑なパスワードは、上の公開鍵を登録してしまえば、もう使うことはありません。普通は公開鍵認証が成功した時点で、ssh パスワード認証を無効化するのですが、普通にやるには root 権限が必要です。レンサバでは root 権限などいただけないのが普通ですので、パスワード認証を無効化すること自体ができないことも多いです。ですので、ssh のパスワードは有効時に発行された複雑なものから、カンタンなものには変更しないほうが利口です。

ロリポップ!でパスワード認証し SSH で接続する準備、別方法

少しスマートな感じでは薄れますが、TeraTerm で ssh 接続し、公開認証鍵を登録することもできます。

TeraTerm ssh パスワード認証

ロリポップの ssh サーバー名を指定し、ポート番号を 2222 にして接続します。

ロリポップ ssh 指紋

始めてロリポップに ssh したときは、ロリポップのサーバー公開鍵の鍵指紋が表示されます。ここでは、そのまま認証を受け入れて TeraTerm に登録しておきます。これで次回からは、この作業が飛ばせます。

TeraTerm ssh でログイン後、公開鍵をアップロードする(マニュアル設定)

TeraTerm ssh パスワード認証
TeraTerm でロリポップに ssh でパスワードを使用してログインします。

ロリポップ!レンタルサーバー

ロリポップ!公式サイトはこちら

ロリポップ!レンタルサーバー

ログインに成功したら、先ほど作成した id_ed25519.pub を TeraTerm にドラッグ・アンド・ドロップします。

TeraTerm ssh ドラッグ・アンド・ドロップ

図の例では、D ドライブに置いた id_ed25519.pub という公開鍵をドロップしています。そのドロップしたファイルをロリポップ・サーバーのどこに置くかを指定します。普通は ~/ としてホームディレクトリ直下に置いておくと管理が簡単です。なお、公開鍵の id_ed25519.pub は別に漏れても、誰かに盗み見られても問題ありません。むしろ積極的に公開すべきファイルになります。

 bash
# cd
# ls
id_ed25519.pub
# mkdir .ssh
# chmod 700 .ssh
# cat id_ed25519.pub >> .ssh/authorized_keys
# rm id_ed25519.pub
# exit

やっていることは、".ssh/authorized_keys" ファイルを更新しているだけです。ポイントはパーミッションの設定ですが、上の通りコマンドを打ち込んでください。

これで公開鍵の手動登録が完了です。

ここで、ロリポップに公開鍵認証できるかどうか試してみます。

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

TeraTerm ssh 公開鍵認証

図を参考に、認証方式をプレインパスワードを使うのではなく、「RSA/DSA/ECDSA/ED25519鍵を使う」をチェックし、秘密鍵を保存したPC上の場所を指定します。
普通は C:\Users\ユーザー名\Documents\id_ed25519 みたいなファイルになります。

ユーザー名は、ロリポップのユーザー名、パスワードは秘密鍵のパスワードです。

パスワードにロリポップのログインパスワードを入れて四苦八苦するケースがありますが、初歩的な誤解による間違いです。サーバー側が認証として求めているのは秘密鍵で、秘密鍵にパスワードがかかっていたら読めないから、解除して届けてねということです。そのため、パスワード欄には秘密鍵を作成した時に使ったパスワードを入力します。

なお、秘密鍵にパスワードをかけていない場合は、パスワード欄は空にして接続します。重要なのは秘密鍵を持っているかどうかです。また、ロリポップの SSH サーバーに秘密鍵をそのまま送るわけではないので、この点も誤解なきよう。秘密鍵を使って作成した暗唱を送り付けて認証するだけです。

ロリポップ!レンタルサーバー

ロリポップ!公式サイトはこちら

ロリポップ!レンタルサーバー


関連記事
ロリポップ!レンタルサーバーの設定
[lolipop]ロリポップ!レンタルサーバーの設定・傾向と対策

当サイトもサブで契約している「ロリポップ!レンタルサーバー」の設定方法です。 初心者向けなので。初めての人にもわかりやす ...

続きを見る


関連記事
エックスサーバー陣
エックスサーバーと wpX Speed 、wpXシンどれを選ぶべき?

このページはエックスサーバーを使ってみたいという人が、「エックスサーバー」と「wpX Speed」、どれにするべきか悩ん ...

続きを見る

-サーバー, セキュリティ, ネットワーク, 設定
-, , , , ,