はじめに
ColorfulBoxのサーバーで作業する際、これまでcPanel上のターミナルやFTPソフトを使用していました。
しかし、「ブラウザ上ではなく、手元のMacのターミナルから直接SSH接続をしてハッカー感を出したい!」という厨二病的な思いが込み上げました。
さらに、もう一つの大きな動機としてFTPソフトにお金をかけたくないという不満がありました。
ハードルが高そうに見えるSSH接続だが、自分のPCから接続できるように設定してしまえば、以下のような実務的なメリットが得られる。
- FTPソフトが完全に不要になる: Macに最初から入っているターミナルだけでファイルを直接転送できるため、余計なソフトにお金をかける必要も、アプリを立ち上げる手間もなくなる
-
ファイルの変更点(差分)だけを爆速で同期できる:
scpやrsyncといったコマンドを使えば、修正したファイルだけを一瞬でサーバーに反映できるため、開発の作業効率が劇的に向上する - セキュリティが劇的に向上する: 通信がすべて暗号化され、安全な鍵認証になるため、従来のFTPに比べて不正アクセスのリスクを極限まで減らせる
- AWSなどのクラウドを触る際の本質的なスキルになる: 実務のインフラ操作と全く同じ環境を経験できる
本記事では、カラフルボックス(cPanel)を対象に、Macの標準ターミナルだけを使って安全にSSH接続を確立し、次回からコマンド一発で爆速ログインするための設定手順を解説する。
接続方法
前提
-
公開鍵認証方式を理解していること
SSHの仕組みがわからない場合は、事前に以下の記事などを参考にしてください。
参考:SSH公開鍵認証とは(富士通 Cloud Navi)
【公開鍵認証の概要(上記サイトより抜粋)】
公開鍵認証とは、「公開鍵」と「秘密鍵」という2種類の鍵のペア(キーペア)を用いて認証を行う方式です。
サーバーにログインするユーザーは、事前に自分用のキーペアを作成し、そのうち公開鍵をサーバーに登録し、秘密鍵は自分のPC内に保管しておきます。ログインする際には、秘密鍵を用いて署名を作成し、サーバーへ送信します。サーバーは受け取った署名を登録済みの公開鍵で検証し、成功した場合に限りログインを許可する仕組みです。
-
SSH接続用のポート番号が確認できていること
この記事ではポート番号を指定して接続する手順を解説するため、事前に番号の把握が必要です。
カラフルボックスでは、SSH接続用のポートはデフォルトで22が使用されています。特に設定を変更していない場合はそのままで問題ありません。変更している場合は、あらかじめ正しいポート番号を確認した上で次に進んでください
手順1 : キー作成画面へのアクセス
1.1 「SSHアクセス」ページに遷移
cPanelの機能リストに「SSHアクセス」があるのでそのページに遷移します。

1.2 「新しいキーの作成」ページまで遷移
次に「SSHアクセス」ページの「SSHキーの管理」ボタンを押します。

続いて、「新しいキーの生成」ボタンをクリックします。

以下の情報入力画面が表示されたら、手順1は完了です。

手順2 : キー(鍵)の生成と「認可」設定
ここでは実際に鍵を作成し、手元のMacにダウンロードするまでの作業を行います。
2.1 新しいキーの生成
先ほどの画面で、必要な情報を入力して鍵を生成します。
-
キー名: デフォルトの
id_rsaのままでOKですが、他のサーバーにssh接続すると被ってしまうため好きな名前に変更することを推奨します
今回は「test_key」で作成します - パスワード(パスフレーズ): 鍵自体にかけるパスワードです。接続時に入力を求められるので覚えといてください
-
キーのタイプ:
RSAのままでOKです -
キーサイズ:
2048のままでOKです
キーのタイプ : 一言で言うと、「暗号のアルゴリズム(仕組み)」
キーのサイズ : 一言で言うと、「鍵の複雑さ(頑丈さ)」
今回は通常のSSH接続を目的としているためデフォルトのままで進めますが、よりセキュリティをガチガチに高めたい場合は、キーサイズを 4096 に変更することを推奨します。
入力が終わったら、下部の 「キーの生成」 ボタンを押します。
「キーの生成が完了しました!」という画面が出たら、「Go back」を押して一覧画面に戻ります。

2.2 【超重要】公開鍵の認可(Authorize)
※ここがcPanelで一番つまずきやすい罠です。
鍵を生成しただけでは、サーバー側で「未承認」状態となっており、SSH接続が弾かれてしまいます。
これから、認証ステータスを「not authorized」から「authorized」にする作業をしていきます
ステータスが authorized(認可済み)に変わったことを必ず確認してください。

2.3 秘密鍵のダウンロード
最後に、自分のMacに保存するための「秘密鍵」をダウンロードします。
-
SSHアクセスの一覧画面に戻ります
-
画面下部の「秘密鍵(Private Keys)」のリストから、作成した鍵(
test_key)を探します -
画面下部の 「鍵のダウンロード」 ボタンを押し、Macにファイルを保存します。(通常は
ダウンロードフォルダに入ります)

この秘密鍵は絶対に他人に教えてはいけません。
万が一悪用されてしまった場合は、SSHアクセスキーの初期化を推奨します。
これでサーバー側(cPanel)での準備は完了です。
ちょっとした学び
cPanelでアクセスキーを作成すると、サーバー側での鍵の管理は自動的にcPanelがやってくれるみたいですね。
他のアクセスキーだと手動で鍵の管理が必要となると思いますので、必要になったら都度調べようかなと思いました。
手順3:Macのターミナル設定と秘密鍵の配置
サーバー側(cPanel)での設定が終わったら、次は手元のMacで「ターミナル」アプリを操作し、ダウンロードした秘密鍵の配置と権限設定を行います。
3.1 ターミナルを起動し、.ssh ディレクトリを作成する
まずはMacの「ターミナル」アプリを起動します。
ダウンロードした鍵を安全に管理するために、ユーザーのホームディレクトリ直下に .ssh という隠しフォルダを作成します。
mkdir -p ~/.ssh
mkdir : ディレクトリを作成するコマンド
-p (--parents) : 作成しようとしたディレクトリがすでに存在していても、エラーにせずそのまま正常終了する。
※すでにフォルダが存在している場合は何も起きないため、そのまま実行して問題ありません。
3.2 ダウンロードした秘密鍵を移動する
ブラウザでダウンロードした秘密鍵(例:test_key)を、先ほど作成した .ssh フォルダの中に移動させます。
今回は分かりやすいようにGUIで移動させますが、ターミナルを使用したファイル移動はとても勉強になるため、各自で調べてCUIでファイル移動をすることを強く推奨します
3.2.1 ダウンロードした秘密鍵のコピー
3.2.2 隠しファイルである.sshを表示
先頭に.がついているファイルは隠しファイルです。
ユーザーのホームディレクトリ直下に .ssh はありますが隠れているため非表示になっています。

そこで、command + shift + . (ドット) を同時に押すと表示されます。

出てきましたね。
.sshファイルを開いてtest_keyをペーストして終わりです。

※もしcPanelで鍵を生成する際にキー名を変更した場合は、id_rsa の部分を実際のファイル名に書き換えてください。
3.3 【最重要】秘密鍵のアクセス権限(パーミッション)を変更する
ここがMac側で最もつまずきやすい重要なポイントです。秘密鍵の権限が緩い状態のままだと、SSHのシステムが「安全ではない鍵」と判断し、接続を強制的に拒否してしまいます。
鍵の所有者(自分自身)だけが読み書きできるように、パーミッションを 600 に変更します。
chmod 600 ~/.ssh/test_key
これでMac側への鍵の配置と設定は完了です。
手順4:初回SSH接続テスト
すべての準備が整ったので、実際にMacのターミナルからカラフルボックスのサーバーへ接続を試みます。
4.1 接続コマンドの実行
ターミナルで以下のコマンドを入力して実行します。colorfulbox(cPanel)の共有IPアドレスとユーザー名を指定します。
ssh -i ~/.ssh/test_key 現在のユーザー名@共有IPアドレス
4.2 初回接続時の警告とパスフレーズ入力
コマンドを実行すると、初回接続時のみ「初めて接続するサーバーだが本当に信頼してよいか」という確認の警告メッセージが表示されます。
Are you sure you want to continue connecting (yes/no/[fingerprint])?
ここは迷わず yes と入力して Enter キーを押します。
次に、cPanelで鍵を生成した際に設定した「パスワード(パスフレーズ)」の入力を求められます。
Enter passphrase for key '/Users/ユーザー名/.ssh/test_key':
ここに設定したパスフレーズを入力して Enter キーを押します。
※セキュリティの仕様上、入力中の文字や星マーク(*)などは画面に一切表示されませんが、裏ではしっかり入力されていますので、気にせず打ち込んでください。
4.3 接続成功
画面左端のプロンプト表示が以下のようにサーバー側の表記に切り替われば、見事SSH接続は成功です!
[ユーザー名@サーバー名 ~]$
手元のMacの黒い画面から、はるか彼方のカラフルボックスのサーバー内部へと直接ログインすることができました!。
この画面になれば、まさにハッカー感を味わうことができます。
接続の確認が終わったら、一度ログアウトして手元のMac環境に戻りましょう。以下のコマンドで切断できます。
exit
快適に使うための応用設定(configの活用)
無事に接続できましたが、毎回 -i ~/.ssh/id_rsa ... と長いコマンドを打つのは面倒です。MacのSSH設定ファイルを編集し、コマンド一発でログインできるようにカスタマイズします。
configファイルの作成と編集
Macのターミナルでテキストエディタ nano を起動し、設定ファイルを編集します。
nano ~/.ssh/config
エディタが開いたら、以下の内容を入力します。
Host colorfulbox
HostName 共有IPアドレス
User 現在のユーザー
Port 22
IdentityFile ~/.ssh/test_key
nanoの保存・終了操作
-
control + Oを押す。 - 画面下部にファイル名が表示されるので、そのまま
Enterを押して確定(保存)。 -
control + Xを押してエディタを終了する。
設定完了後、ターミナルで以下の短いコマンドを打つだけで、一瞬でカラフルボックスのサーバー内部へアクセスできるようになります。
ssh colorfulbox
まとめ
カラフルボックス(cPanel)へのSSH接続は、以下の3つのポイントを押さえることでスムーズに導入できました。
- cPanel側で鍵の「Authorize(認可)」を忘れないこと
- Mac側の秘密鍵は
~/.ssh/に置き、パーミッションを600にすること ~/.ssh/configを設定して接続コマンドを極限まで短縮すること
ネットの情報ではポート番号が 2222 と指定されているケースも散見されましたが、自身の環境(cPanelにポート明記なし)では標準の 22 で問題なく接続できました。もし繋がらない場合は、ネットワーク確認コマンド nc -zv 183.90.183.159 22 2222 などを使い、どちらのポートが開放されているか手元からチェックしてみるのも手です。
一度この環境を作ってしまえば、AWSのEC2など他のインフラ環境に触る際にも全く同じ知識が流用できるため、エンジニアとしてのステップアップとしても非常におすすめです。







