【カラフルボックス】sshログインを自動化する方法

2019年8月27日

ブログの設定をしていると、時々サーバー上のファイルを編集することがありますよね。

カラフルボックスの場合はcPanelに「ファイルマネージャー」というソフトが用意されており、ブラウザ上でファイル編集ができるようになっています。
ブラウザでサーバー上のファイルを編集できてしまうなんて便利ですね!

※カラフルボックスのレンタルサーバーについてはこちらにも記事があります。

しかしLinuxに慣れてる人の中には、サーバーにログインしてコマンドで編集したいんだ!という人も居るかもしれませんね。
その場合でもcPanelから「Termial」というソフトを起動すれば、これまたブラウザだけでサーバーへログインし、コマンドの実行ができるようになっています。↓こんな感じです。

terminalのが画面
terminalサンプル画面

見ての通り、Terminalだとブラウザの一部分に表示されるので狭く感じます。ここはやはり有名なターミナルソフトのTeratermを使いたい人もいるのではないでしょうか!?

そこで今回は、Teratermのマクロを使って自動ログインできる環境にした方法を共有したいと思います。

ssh公開鍵認証の準備

カラフルボックスではパスワード認証によるログインは出来ないので、公開鍵認証の設定をする必要があります。

cPanel→「SSHアクセス」→「SSHキー管理」から設定をすることができます。詳しくはカラフルボックスのオンラインマニュアルに「SSHのご利用方法」が用意されているので参照してください。

「SSHキー管理」で作成した公開鍵は自動的にサーバーに配置されているので、別途アップロードする必要はありません。

秘密鍵の方はTeratermで読み込む必要があるためダウンロードしてください。

私の場合は複数のノートPCでブログを書いているため、画像などはGoogleDriveを利用してどのPCからでもアクセスできるようにしています。

ダウンロードした秘密鍵もGoogleDriveに保存し、どのPCからでもアクセスできるようにしました。

Teratermマクロの準備

この段階でもTeratermでログインするだけであれば、先ほどダウンロードした秘密鍵を指定し、秘密鍵のパスワード(Teratermで言うところのパスフレーズ)を入力すればサーバーにログインできます。

しかし、毎回パスワードを入力するのが面倒なので自動ログインするマクロを用意しました。このマクロを起動すれば一発でサーバーへログインできるので、毎回パスワードを入力する必要もありません。
このマクロも秘密鍵と同じGoogleDriveのフォルダに保存しました。

ssh自動ログイン.ttl(マクロファイル)の内容

私は以下のマクロを用意しました。SSHはバージョン2を指定しています。

事前設定項目にある、接続先ホスト:ポート番号、ユーザー、秘密鍵を自分の環境に合わせて変更すばOKです。

;-------------事前設定-----------------
;接続先ホスト:ポート番号
HOSTPORT='hogehoge.cfbx.jp:22'
;ユーザー
USERNAME='hogehogeuser'
;パスワード保存ファイル
PASSFILE = 'pass.dat'
;秘密鍵
SECKEY='id_rsa'
;マクロと秘密鍵を同じパスに保存する場合は空にしておく
MACRO_PATH=''
SECKEY_PATH=''
;--------------------------------------

;マクロ配置パスを取得し秘密鍵の絶対パスを作成
getdir MACRO_PATH
;鍵ファイルパス生成
strconcat SECKEY_PATH MACRO_PATH
strconcat SECKEY_PATH '\'
strconcat SECKEY_PATH SECKEY

;初回のみパスワードを入力しdatファイルに保存
getpassword PASSFILE USERNAME PASSWORD

;接続コマンド生成
COMMAND = HOSTPORT
strconcat COMMAND ' /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
strconcat COMMAND ' /keyfile='
strconcat COMMAND SECKEY_PATH

;接続
connect COMMAND

マクロ起動

最初の起動時には以下のダイアログが開き、秘密鍵のパスワードを入力する必要があります。

パスワード入力

一度入力したパスワードはマクロと同じディレクトリにファイル名pass.datとして保存され、2回目以降の起動時にはパスワードを聞かれることなく、ログイン完了まで一気に進むようになります。

まとめ

以上でTeratermマクロによる自動ログインの設定は完了です。

上記フォルダの様に、必要な3ファイル(マクロファイル、秘密鍵、パスワードファイル)を全て各PCで共有しているクラウドに保存しました。1台のPCで準備してしまえば、他のPCでは設定する必要もなくすぐに使うことができるようになるので便利ですよ。

Teratermの場合、コピーはダブルクリックで、ペーストは右クリックでできるので、ブラウザのTerminalでの操作より楽になりました。

マクロを作り込めば自動ログインするだけでなく、ログイン後にも様々な処理を自動化することができますね。

ただし、サーバー構築や保守などの作業とは違い、一度ブログの設定やテーマのカスタマイズが終わってしまえば、後はブログを書くことがメインとなるので、それほどファイルを直接操作する機会は多くないかもしれませんが(汗)

割引キャンペーン

カラフルボックスでは頻繁に割引キャンペーンを実施しているのでキャンペーンを狙って契約するのもおすすめです!現在実施中のキャンペーンはこちら。

■ キャンペーン期間

クーポンの予定数がなくなるまで。早い者勝ち!

■ キャンペーン概要

【 初年度料金が特別価格 】

レンタルサーバーの初年度料金が特別価格になるクーポンコードをプレゼント!
どなたでもご利用できる、大変お得なクーポンです。

プロモーションコード(クーポンコード):SV50ZB173W9WJH

※30日間無料お試し → 本契約(12ヶ月・24ヶ月・36ヶ月)を行った場合にのみ有効です。
※1ヶ月・3ヶ月・6ヶ月の本契約、BOX1については対象外となります。

■ クーポンの利用方法

【1】サーバーの30日間無料お試しを申込みます。
【2】サーバー詳細画面の「アップグレード/ダウングレード」から本契約(12ヶ月・24ヶ月・36ヶ月)を行います。
【3】「プロモーションコード」にクーポンコードを入力し、「コードの認証」に進みます。
クーポンコードが適用され、サーバー料金が特別価格になります。