さくらレンタルサーバーにSSH&公開鍵で接続してみよう!
2017/01/31
こんにちは、okutani(@okutani_t)です。さくらインターネットのレンタルサーバーでは、スタンダードプラン以上でSSH接続ができます。
今回はMacのターミナルからSSH接続をおこなったあと、無駄なパスワード入力を省くため公開鍵で接続できるように設定します。
では、設定をおこなっていきましょう。
スポンサーリンク
もくじ
SSH接続のためのアカウント情報を確認する
SSH接続する際に必要な情報は下記の通りです。
- 初期ドメイン名
- アカウント名
- サーバパスワード
上記のものは、さくらサーバーのコントロールパネルにログインする際に使っているものですね。
きちんと確認したい場合は、コントロールパネルから確認できます。
サーバパスワードは変更していなければ、契約時に送られてくるメールに記述してあります。各自確認しておきましょう。
ではMacのターミナルを立ち上げてSSH接続でログインしてみます。
ターミナルからSSH接続をおこなう
ターミナルから次のように実行しましょう。
$ ssh アカウント名@初期ドメイン名
「Are you sure you want to continue connecting (yes/no)?」と聞かれるので「yes」と入力します。
その後、パスワードを聞かれるので「サーバパスワード」を入力します。
パスワードの入力は何も表示されませんが、実際には入力されています。
ログインが成功すると「Welcome to FreeBSD!」と表示されて、その下に「%」が確認できます。
この%から、UNIXコマンドを入力することができます。
では、pwdコマンドで現在のディレクトリを確認してみます。
現在位置が「/home/ユーザ名」のディレクトリにいることが確認できます。
exitコマンドでログアウトできます。
公開鍵を使って接続する
次は公開鍵を使ってアクセスしてみましょう。
公開鍵方式でアクセスするためには、次のように鍵を生成して配置します。
- サーバー側 → 公開鍵
- 自分のPC側 → 秘密鍵
この公開鍵と秘密鍵を使って、SSH接続をおこないましょう。
次のコマンドで「.ssh」ディレクトリに鍵を生成。もし、ホームディレクトリに.sshディレクトリが作成されてない場合はmkdirコマンドで作成します。
$ mkdir ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t rsa
パスフレーズを2回聞かれますので、お好きなパスワードを入力してEnter。このパスワードはこのあと使います。
作成された「id_rsa」が秘密鍵、「id_rsa.pub」が公開鍵です。
次のコマンドできちんと作成できたか確認しておきましょう。
$ ls
さくらサーバーに公開鍵を送信
さくらサーバーに作成した公開鍵「id_rsa.pub」を送信しましょう。
ターミナルで下記を入力します。
$ scp ~/.ssh/id_rsa.pub アカウント名@初期ドメイン名:/home/アカウント名/.ssh/authorized_keys
上記の意味は「scp」で暗号化したファイル転送をおこない、サーバー側の.sshフォルダに「id_rsa.pub」を「authorized_keys」にリネームして配置しています。
入力後、パスワードを入力してエラーが出なければ成功です。
ローカル側のconfigファイルを編集
ローカル側のconfigファイルを設定すると、更に接続が楽になります。
下記コマンドを入力して、configファイルをローカル(自分のPC)側に作成、設定をおこないます。
$ touch ~/.ssh/config
$ vi config
viがよく分からない方は、お使いのエディターを使って編集してください。
configファイルに下記を記述します。
Host sakura
User アカウント名
HostName 初期ドメイン名
Port 22
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 60
Hostのあとの「sakura」は任意の英字が使えるので、わかりやすい名前に設定しましょう。
また、SSH接続は一定時間サーバーとのやりとりがないと、勝手に接続が切れてしまいます。ですが、上記のように「ServerAliveInterval 60」としておくと、60秒に1回サーバーへメッセージが送信されるので接続が切れなくなるので便利です。
設定後、次のコマンドでアクセスできます。
$ ssh sakura
入力すると、鍵生成時に設定したパスワードを聞かれます。入力してOKを押しましょう。
これで、かんたんにSSH接続できるようになりました!
最後に、オーナーだけが読み書きできるように、公開鍵のパーミッションを設定しておきます。
さくらサーバーログイン中に、下記コマンドを入力しましょう。
$ chmod 600 .ssh/authorized_keys
これでパーミッションが書き換わりました。
さくらサーバーのSSH接続の手順は以上です。参考になれば幸いです。
おまけ: シェルをcshからbashに変更する
さくらレンタルサーバーのデフォルトのシェルはcshなので、次のコマンドでbashに変更しました。
% chsh -s /usr/local/bin/bash
# 再ログイン
bashの方が使い勝手がいいかと思うので、変更したい人は試してみてください。
また、使っているシェルの確認と、他に使えるシェルの一覧は、次のコマンドで調べることができます。
% echo $SHELL
/usr/local/bin/bash
% cat /etc/shells
# $FreeBSD: release/9.1.0/etc/shells 59717 2000-04-27 21:58:46Z ache $
#
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/sh
/bin/csh
/bin/tcsh
/usr/local/bin/zsh
/usr/local/bin/rzsh
/usr/bin/passwd
/usr/local/bin/bash
/usr/local/bin/rbash
参考になれば幸いです。
Web開発のお仕事を募集しています
フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。
「Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。
ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。
LINKお問い合わせ
スポンサーリンク