XserverへのSSH接続がエラーになってしまった

XserverへのSSH接続がエラーになってしまった

タイトルは、これまで接続できていたものがエラーが出るようになったという意味です。

01Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

エラーは、Permission denied (publickey,gssapi-keyex,gssapi-with-mic). というものです。ググってみましたが有用な記事もなく、鍵を作り直せばすむものですのでそれ以上の深入りはしていません。それまで接続できていたものですので原因不明のままです。

02Xserver で鍵ペアをつくる

どのレンタルサーバーでも同じですが、要は秘密鍵と公開鍵をつくり、サーバーに公開鍵を登録し、クライアントから秘密鍵を使って接続するという流れになります。

その秘密鍵と公開鍵の鍵ペアをつくる方法は、

  • Xserver のサーバーパネルでつくる
  • linux のコマンドでつくる
  • Windows 上の TeraTerm でつくる

など、どれでも構いません。

Xserver のサーバーパネルでつくる

サーバーパネルのアカウント > SSH設定で、まず設定を ON にします。

「公開鍵認証用鍵ペアの生成」で適当なパスフレーズを入れて確認画面に進み登録します。パスフレーズを使わない場合は空白のまま進みます。パスフレーズは二重の安全性のためですので、秘密鍵を適切に管理できれば使わなくてもいいと思います。登録しますと xs******.key という秘密鍵がダウンロードされます。この秘密鍵を使って接続するわけですがそれは次項です。

なお、この方法で鍵ペアを作成しますと、登録されている公開鍵は上書きされてしまいます。

03linux のコマンド鍵ペアでつくる

ホームディレクトリで

$ ssh-keygen -t rsa -b 4096

と打ち、エンターで進めば、~/.ssh/ 以下に秘密鍵 id_rsa と公開鍵 id_rsa.pub が作られます。オプションは ITmedia などに詳しいです。オプション無しのデフォルトですと rsa 方式の 2048bit で作られます。

図の例では以前作成したものを上書きしています。

公開鍵 id_rsa.pub をコピーしてサーバーに保存します。

Xserver では、SSH設定の公開鍵登録・更新のテキストボックス内に貼り付け保存します。なお、このテキストボックス内には複数の公開鍵を保存できます。改行を入れて貼り付ければ OK です。

04サーバーに SSH 接続する

Xserver の SSHアカウント情報は次のようになっています。

ですので次のように ssh コマンドを使って打てば接続されます。

$ ssh -p 10022 -i .ssh/id_rsa ユーザ名@サーバー名.xserver.jp

毎回オプションを指定するのも面倒ですので、~/.ssh/ 以下に次のように config ファイルを作成します。

これで

$ ssh xserver

と打てば接続されます。

05TeraTerm の場合

Windows の場合は TeraTerm を使う場合が多いと思います。TeraTerm でも鍵ペアを作成することは出来ます。

Setup > SSH KeyGenerator をクリックします。

Key Bits を 4096 に変更し、パスフレーズを必要なら入力し、Generate をクリックしますと秘密鍵と公開鍵がダウンロードできるようになります。あとは同様に公開鍵をサーバーに保存し、秘密鍵を使って接続します。