Xserverでsshログインする(Permission deniedと表示されないために)
Xserverにsshでログインする方法です。公式ページにやり方が書いてありますが、それでも失敗するときがあるのでここにまとめておきます。クライアントはMacのターミナルとします。
(Xserverの管理画面よりスクリーンショットを引用)
手順まとめ
- サーバーパネルにログイン
- SSH設定を開く
- SSH設定をonにする(すでにonになっていたら何もしない)
- 公開鍵認証用鍵ペアの作成タブを開く
- SSHに使うパスワードを入力する
- サーバーID.keyファイルが自動的にダウンロードされる
- そのファイルを任意のフォルダ(sshというフォルダでOK)
- ターミナルを開いて↑のフォルダの1個上に移動する
- そのフォルダのpermissionを700にする
- ターミナルでフォルダの中に移動する
- keyファイルにpermissionを600にする
- 次のコマンドを入力
コマンド
ssh -i (keyファイル名) -p 10022 (サーバーID).xsrv.jp -l (ユーザー名)
↑のカッコは実際には入れないでください。サーバーIDがsampleだったらこんな感じになります。
-i sample.key -p 10022 sample.xsrv.jp -l sample
keyファイルの拡張子抜きのファイル名、サーバーID、ユーザー名はたぶんデフォルトで同じになっています。サーバー情報で確認してください。
コマンドを入力してうまく成功したらパスワードを入力してログイン。
ポイント1
パスワード入力までいかずpermissionのエラーになったら、原因はだいたい次のとおりです。
- 鍵のあるフォルダのpermissionが700になっていない
- 鍵のpermissionが600になっていない
- コマンドの10022が間違ったポートになっている
- コマンドに-l ユーザー名が入っていない
コマンドにユーザー名を入れないと、root権限でログインしようとするのでログインできません。
ちなみに鍵ファイルのファイル名をid_rsaにすると説明している記事がありますが、同名のファイルがたくさんあって困るという場合でなければ、ファイル名を変更する必要はありません。ファイル名はログインできるできないとは関係ない。
※permissionの変更は
chmod 600 abc.key
などとします。700に変更したいなら chmod 700 です。
ポイント2
SSHにくわしくない方のためのメモですが、サーバーパネルのSSH設定で「公開鍵認証用鍵ペアの作成」で鍵を作ってダウンロードしたら、3つ目のタブにある「公開鍵登録」には何もしなくて大丈夫です。
「公開鍵認証用鍵ペアの作成」でパスワードを入力して鍵を作ったら、サーバーに公開鍵も登録されるので、わざわざ「公開鍵登録」する必要はないということです。