SAGA SITE

夢をプロトタイピング

さくらのVPS (v5) でSSHの公開鍵をインストールする方法

さくらのVPSで、SSHの設定を失敗しまくりました。

やっと解決したので、備忘録としてメモ。

 

さくらのVPS

 

 

失敗の原因=コンソールでコピペができない仕様

サーバーに公式で用意されているUbuntu 20.04 LTSをインストールしました。

その後、さくらVPSのコントロールパネルから、VNCコンソール画面を開き、SSH接続のための設定作業をやっていました。

 

さくらのVPS コントロールパネル

 

ローカルPCで作成した公開鍵の文字列を、サーバー側のファイルに貼り付けて保存したかったのですが、VNCコンソールにペーストの機能がなくて、貼り付けられませんでした。

 

さくらのVPS VNSコンソール

 

manual.sakura.ad.jp

 

VNCコンソールは「HTML5」を利用します。

キーボード操作によるコピー・ペーストは利用できません。

 

昔のバージョンのコンソール画面には、コピーペーストボタンが付いていたのですが、なくなったようです。

 

最初からSSHの公開鍵を仕込む方法が用意されていた

コントロールパネルでOSをインストールするとき、「サーバーへのSSHキー登録」という項目があって、これを「登録する」を選びます。

その下にはる「SSHキー」という欄に、予めSSHの公開鍵の文字列を貼り付けておけばOKでした。

 

サーバーへのSSHキー登録

 

最初は無視していたけど、SSHの設定で苦労してから、この項目がある意味が分かりました。

は~、時間を無駄にしたけど、解決するときはアッサリ解決しますね。…トホホ

 

SSH公開鍵の確認

OSのインストール完了後、VPSのコントロールパネルから、VNCコンソール画面を起動します。

 

ユーザーのホームディレクトリーに「.ssh」というディレクトリーができています。

この中にある「authorized_keys」というファイルをviで開いて、中身を確認してみると、先ほど「サーバーへのSSHキー登録」のSSHキー欄に貼りつけた文字列と同じになっていることが確認できました。

 

一度分かってしまえば何でもない仕組みだけど、知らないとドツボにはまる仕組みだと思いました。

 

手動で回避する方法

これを手動で回避するには、SSH接続の設定を2段階でやらないといけませんね。

面倒くさいので検証しませんが、多分以下のような手順が必要になると思います。

 

  1. 最初は、パスワードでSSH接続できる設定にしておく。
  2. パスワードでSSH接続して、公開鍵のファイルをサーバーにアップロードする。
  3. コントロールパネルのVNCコンソール画面で、パスワードでのSSH接続を禁止にする。
  4. 公開鍵を使ったSSH接続の設定に変更する。

 

パスワードによるSSH接続は、セキュリティーが甘いので、最初だけしか使いません。

SSH用の公開鍵ファイルをアップロードするためだけに使います。

 

  1. パスワードによるSSH接続
  2. 公開鍵によるSSH接続

という2段階のステップを踏まないと、公開鍵をアップロードすることができないので、ここがはまり所だと思いました。

 

もっとスマートな方法があるのかもしれないけど、よく分からなかったので、とりあえず今回はVPSのコントロールパネルにある機能で解決しました。

また機会があったら、もっとうまい方法を考えてみたいと思います。