ウェブサイト

サイトにSSHキーを追加する

SSH access to a Kapsule site is key-based only, so before you can open a shell or an SFTP session you need to register a public key against the site in KPanel. This guide covers where that lives…

SSH キーをサイトに追加する

KapsuleのサイトへのSSHアクセスはキーベースのみであるため、シェルセッションやSFTPセッションを開く前に、KPanelでサイトに対して公開キーを登録する必要があります。このガイドでは、その場所、既に持っているキーを追加する方法、Kapsuleにキーを生成させる方法、信頼できなくなったキーを取り消す方法について説明します。

SSH キーページの場所

Websitesを開き、サイトをクリックしてから、サイトタブストリップのFilesメニューを開いてSSH Keysを選択します。このページのタイトルはSSH accessで、このサイトの接続詳細と、現在認可されている公開キーのリストの2つが含まれています。

メインサイドバーにはトップレベルのSSHアイテムはありません。キーはサイトごとなので、ここで追加したキーはこのサイトに対してのみ認証されます。複数のサイトを実行している場合、それが同じキーであっても各サイトに独自のエントリが必要です。

KPanelのサイトのSSHアクセスページ

キーの追加または取り消しにはsites:write権限が必要です。読み取り専用ロールでチームアカウントに属している場合、Add keyボタンと取り消しアイコンは非表示になります。アカウント所有者または管理者に変更を依頼してください。

接続詳細

ページ上部のConnection detailsカードにはクライアントが必要とするすべての情報が表示されます:

フィールド説明
Host接続するホスト名
PortこのサイトのSSHポート
Usernameサイトが実行されるシステムユーザー
SSHこのサイト用の既製のsshコマンド
SFTPこのサイト用の既製のsftpコマンド

各行にはコピーコントロールがあり、SSHおよびSFTPの行は値だけではなくコマンド全体をコピーするため、ターミナルに直接貼り付けることができます。コマンド自体を入力するのではなく、これら2つを使用してください。適切なユーザー、ホスト、ポートが既に含まれています。

カードが全く表示されない場合、サイトはまだシェルユーザーをプロビジョニングしていません。その場合、APIはプレーンなSite has no SSH userエラーを返します。サイトステータスピルがActiveを読み込むまで待機してから、リロードしてください。

既に持っているキーを追加する

ほとんどの人は既にマシン上にキーペアを持っています。公開鍵の方をここに追加します。

  1. 自分のコンピューターで公開キーを出力します。macOSとLinuxでは通常cat ~/.ssh/id_ed25519.pub、または古いRSAキーの場合はcat ~/.ssh/id_rsa.pubです。OpenSSH搭載のWindowsではtype %USERPROFILE%\.ssh\id_ed25519.pubです。
  2. ssh-ed25519ssh-rsa、またはecdsa-sha2-nistp256で始まる1行全体をコピーします。
  3. KPanelでAdd keyをクリックします。
  4. Labelフィールドに覚えやすい名前、例えばキーが存在するマシンの名前を入力します。
  5. 公開キーを2番目のフィールドに貼り付けます。
  6. Add keyをクリックします。

キーはAuthorised keysリストにすぐに表示され、ラベルの下にフィンガープリントが表示されます。すぐに接続できます。

Kapsuleはキーが追加されるたびにアカウントアドレスにメールを送信し、ラベル、フィンガープリント、サイトを引用します。このメールは意図的なものです。SSHアクセスは高い信頼性が必要であるため、追加していないキーが表示される場合は、すぐにそれを取り消してパスワードを変更してください。

.pubファイルのみを貼り付けてください。秘密鍵ファイルには.pub拡張子がなく、-----BEGIN OPENSSH PRIVATE KEY-----のような行で始まります。それを貼り付ける場合、それはあなたの秘密鍵であり、再利用するのではなく再生成する必要があります。

まだキーを持っていない場合

ssh-keygen -t ed25519 -C "your-label"でローカルに生成し、デフォルトのファイルの場所を受け入れ、プロンプトが表示されたときにパスフレーズを設定します。これにより~/.ssh/id_ed25519(秘密にしておく)と~/.ssh/id_ed25519.pub(それを貼り付ける)が生成されます。

Kapsuleにキーペアを生成させる

ssh-keygenを実行したくない場合、KPanelはペアを作成できます。

  1. Add keyをクリックします。
  2. Labelフィールドを入力します。公開キーボックスは空白のままにします。
  3. Generate keypairをクリックします。

Kapsuleはeq25519ペアを作成し、公開鍵の方をサイトに対してインストールし、緑色のバナーを表示します: Keypair generated: download the private key nowDownload .pemをクリックして秘密鍵を保存します。ファイルは選択したラベルにちなんで名付けられます。

秘密鍵は1回だけ表示されます。バナーにそう明記されています。これはそれをダウンロードできる唯一の時間です。Kapsuleは後で取得できるようにコピーを保持していません。バナーをダウンロードせずに閉じた場合、キーを取り消して新しいペアを生成してください。

生成されたキーにはパスフレーズがないため、スクリプトからプロンプトなしで使用可能になります。それはまた、ファイル自体が全体的な認証情報であることを意味します。パスフレーズが必要な場合、代わりにssh-keygenで自分でペアを生成し、公開鍵の方を貼り付けます。

ダウンロード後、ファイルを適切な場所に移動して権限を厳しくしてください。SSHは世界読み取り可能な秘密鍵の使用を拒否するからです:

mv ~/Downloads/my-laptop_id_ed25519.pem ~/.ssh/kapsule-mysite.pem
chmod 600 ~/.ssh/kapsule-mysite.pem
ssh -i ~/.ssh/kapsule-mysite.pem <username>@<host> -p <port>

Connection detailsカードのユーザー名、ホスト、ポートを置き換えます。

認可されたキーリストを読む

Authorised keysの各行には以下が表示されます:

  • キーに付けたラベル。
  • キーフィンガープリント。これはラベルが似ている場合に2つのキーを区別する方法です。
  • Addedと登録された日付。
  • Last usedと最新の認証の日付。まだ認証していない場合はNever used

Last used列はクリーンアップ中に有用です。使用されたことがないキー、または数か月間使用されていないキーは、通常は交換されたラップトップまたは移動した請負業者です。

キーを取り消す

キーの行の赤いごみ箱アイコンをクリックします。KPanelは**Revoke SSH key?**で確認を求め、キーがこのサイトに対して認証されなくなることを示すメモを表示します。Revokeをクリックして完了します。

取り消しは新しい接続に対して有効になります。既に開いているSSHセッションはキーを取り消しても強制終了されないため、アクセス権を削除している人がまだ接続している可能性がある場合は、キーを取り消してから、その人が持ち去った可能性のあるものをすべて変更してください。データベースパスワード、アプリケーションシークレット、サイトに保存されているトークン。

キーリストを短く保ちます。マシンごとに1つのキー。マシン名でラベル付けすれば、"key1"、"new key"、"temp"と呼ばれるキーのたくさんよりも監査ははるかに簡単です。

トラブルシューティング

Permission denied (publickey)。 最も一般的な原因は、クライアントが登録したものとは異なるキーを提供していることです。ssh -i /path/to/private_key ...で正しいキーを強制するか、ssh -vで提供されるキーを確認します。

Connection refused またはタイムアウト。 Connection detailsに表示されるポートを使用していることを確認し、デフォルトの22ではないことを確認します。ページからSSHコマンドをコピーするか、入力してください。

秘密鍵の権限が不正です。 OpenSSHは他のユーザーが読み取り可能な秘密鍵を拒否します。ファイルでchmod 600を実行します。

キーはSSHでは機能しますがSFTPでは機能しません。 彼らは同じ認証情報を共有するため、これはほぼ常にキーではなくクライアントです。ページからコピーされたSFTPコマンドを使用します。正しいポートが既に含まれています。

次に進む場所

それでもお困りですか?

こちらまでメールでお問い合わせください support@kapsulehost.com またはKPanelでチャットを開いてください。

KPanel を開く
サイトにSSHキーを追加する