エックスサーバーにSSHで接続してみよう!
2016/03/30
こんにちは、okutani(@okutani_t)です。本記事ではエックスサーバーへSSH接続をおこなう手順を紹介しています。
また今回、Macのターミナルを使って接続設定をおこなっています。Windowsの方はPuTTYなどのターミナルソフトを利用してください。
ではさっそく、エックスサーバーにSSHで接続する手順をみていきましょう。
スポンサーリンク
もくじ
エックスサーバーにSSHで接続する
まずはサーバーパネルから管理画面にログインします。
LINKサーバーパネル – ログイン | レンタルサーバー 高速・高機能・高安定性の【エックスサーバー】
『SSH設定』をクリック。
SSHの設定を有効にします。『ONにする』をクリック。
エックスサーバーではSSHのパスワード接続が禁止されているため、公開鍵を使ったアクセスをおこないます。
また、公開鍵接続の設定は2通りあり、『サーバー上で公開鍵の鍵ペアを生成』『PC上で公開鍵の鍵ペアの生成』のいずれかで鍵を生成します。お好きな方法で設定してみてください。
まずは『サーバー上で公開鍵の鍵ペアを生成』の方法をみていきましょう。
サーバー上で公開鍵の鍵ペアを生成する場合
さきほどのSSH設定画面から『公開鍵認証用鍵ペアの生成』タブを選択し、パスフレーズを入力、『公開鍵認証用の鍵ペア生成(確認)』をクリック。
確認画面が表示されるので『公開鍵認証用の鍵ペア生成(確定)』をクリック。
これで公開鍵認証用の秘密鍵『サーバーID.key』ファイルがダウンロードされます。
ホームディレクトリに.sshディレクトリを作成し、そこに秘密鍵を「id_rsa」にリネームして配置しておきましょう。
$ mkdir ~/.ssh
$ mv サーバーID.key ~/.ssh/id_rsa
パーミッションを「.sshを700」「秘密鍵を600」に変更しておきます。
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/id_rsa
ちなみに、公開鍵はサーバ上の「/.ssh/authorized_keys」へ設置されています。
接続してみる
次のコマンドでエックスサーバーにSSH接続してみましょう。
$ ssh -l サーバーID -p 10022 サーバーID.xsrv.jp
上記のように「Are you sure you want to continue connecting (yes/no)?」と聞かれるのでyesと入力。
パスフレーズを入力。
これでエックスサーバーにSSH接続できました。
次に、PC上で公開鍵の鍵ペアの生成して、SSH接続する方法を説明します。
PC上で公開鍵の鍵ペアを生成する場合
ホームディレクトリに.sshディレクトリを作成し、そこに公開鍵「id_rsa.pub」と秘密鍵「id_rsa」を生成しましょう。なお、すでに他のサービスで鍵を生成している場合は使いまわしてもOKです。
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
ssh-keygenコマンド入力後、「Enter1回」「パスフレーズ2回」入力します。
公開鍵と秘密鍵が生成されました。パーミッションを変更しておきます。
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/id_rsa
次のコマンドを入力しておくと、接続時にパスフレーズを省略することができます。お好みでどうぞ。
$ ssh-add ~/.ssh/id_rsa
エックスサーバーに公開鍵を登録します。次のコマンドで公開鍵の内容をコピーしておきましょう。
// Macの場合
$ pbcopy < ~/.ssh/id_rsa.pub
// Windowsの場合
$ clip < ~/.ssh/id_rsa.pub
サーバーパネルから『SSH設定』→『公開鍵登録・設定』を開き、公開鍵の内容を貼り付けます。
ちなみに、改行して複数の公開鍵を登録することもできます。別のPCや、複数人でSSHを使いたい時に便利ですね。
『公開鍵を登録する(確認)』をクリックします。
『公開鍵を登録する(確定)』をクリック。
接続確認
ターミナルから次のコマンドで、エックスサーバーにSSH接続してみましょう。
$ ssh -l サーバーID -p 10022 サーバーID.xsrv.jp
無事にエックスサーバーにSSH接続することができました。
最後に、接続コマンドを簡略化する方法を説明します。
configファイルで接続を簡略化
接続時に毎回、『ssh -l サーバーID -p 10022 サーバーID.xsrv.jp』と打つのはめんどうです。~/.ssh/configファイルに接続設定を記述することで、コマンドを簡略化することができます。
$ vi ~/.ssh/config
# 下記を記述
Host xsrv
HostName サーバーID.xsrv.jp
Port 10022
User サーバーID
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 60
SSH接続は、一定時間サーバーとのやりとりがないと勝手に接続が切れてしまうため、上記のように「ServerAliveInterval 60」を指定しておきます。こうすると、60秒に1回サーバーへメッセージが送信されるので接続が切れなくなります。
次のコマンドで接続してみましょう。
$ ssh xsrv
エックスサーバーでSSHを使いたい方の参考になれば幸いです。
Web開発のお仕事を募集しています
フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。
「Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。
ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。
LINKお問い合わせ
スポンサーリンク