スマホ

iPhoneからターミナルアプリで公開鍵を使ってssh接続する方法

EC2 で Web サーバを構築して、自宅や会社などから SSH でアクセスしたいケースは多いと思います。

会社の場合はセキュリティの制約が厳しいので、社外から直接目的の EC2 にアクセスするケースは少ないかもしれません。

しかし、プライベートで使っているサーバなら踏み台サーバなどは用意せずに直接アクセスしちゃいます。

最低限、気にするのは以下のようなことくらいでしょうか。

22番ポートは使用しない
ec2-userは使わない
パスワード認証はしない

今回は、いざという時に iPhone アプリからターミナルに ssh で接続できる方法を紹介します。

使用するアプリは「Termius」

いくつかの他のアプリと比較したわけではないのですが、私は一発で「Termius」というアプリが気に入りましたのでこれを使っています。

f:id:chatoracat:20181028222639p:plain

詳しくは公式のストアページを確認してください。

早速アプリをダウンロードしてインストールします。

接続先ホストの追加

アプリを起動するとアカウント登録を促されますが、登録しなくても問題なく使えます。

アプリが起動したら早速、ssh の接続先ホストを登録します。

画面上部の「プラスボタン(+)」をクリックします。

f:id:chatoracat:20181028222706p:plain

すると、何を追加するか聞かれるので「New Host」を選択します。

f:id:chatoracat:20181028222728p:plain

接続先ホストの設定

次に接続先ホストの情報を設定していきます。主に以下の設定をします。

接続先の名前(任意の名前)
ホスト名(IPアドレス)
SSHを使うかどうか

f:id:chatoracat:20181028222754p:plain

「Use SSH」をオンにしたら SSH の接続設定の詳細が登録できるようになります。

詳細情報には以下を設定します。

SSHのポート
SSHのユーザ名
秘密鍵

f:id:chatoracat:20181028222813p:plain

「Key」の項目をタップすると管理している鍵の一覧が表示されますが、この画面から鍵の追加が可能となっています。

追加方法として以下の 3 つが用意されています。

鍵の情報のペースト(貼り付け)
鍵のインポート
新たに鍵を生成する

今回は、鍵の情報のペースト(貼り付け)を紹介します。

秘密鍵のペースト

秘密鍵を iPhone に保存するのは意外に面倒ですので、今回は以下の方法をとります。

秘密鍵の登録

秘密鍵の内容をコピー
コピーした内容をテキストファイルに保存
Gmailなどにテキストファイルをメール添付
GmailをiPhoneで開き添付のテキストファイルの内容をコピー

メールで添付するのは賛否あるかもしれませんが、プライベートなサーバなのでそこはご了承ください。
(iTunesと接続するの面倒ですし)

pem や key などの拡張子で Gmail に添付してしまうと秘密鍵の文字列のコピーが簡単にできないので、テキストファイルの拡張子(txt)で送るのがポイントです。

これは、以下のサイトの情報が役立ちました。

早速、メールに添付したテキストファイルを開いて秘密鍵の文字列をコピーしておきましょう。
(以下にコピーする画面を一部抜粋します)

f:id:chatoracat:20181028222841p:plain

秘密鍵の新規追加

秘密鍵の文字列をコピーしたら、鍵の管理画面の上部で「プラスボタン(+)」をクリックします。

f:id:chatoracat:20181028222907p:plain

先ほど説明した通り、今回は「Paste Key」を選択します。

f:id:chatoracat:20181028222927p:plain

鍵の文字列を「Private Key」に貼り付けて、鍵に自分がわかりやすい名前を設定しておきます。

今回は「ec2」とするつもりが間違って「ex2」にしちゃいました・・・orz

f:id:chatoracat:20181028222950p:plain

これでホストの設定は完了です。画面右上の「Save」で設定を保存しましょう。

EC2にSSHで接続する

ホストの情報を保存するとホストの接続先一覧に追加したホストが表示されるようになります。

ここで新規追加したホストをタップしてみましょう。

無事接続できれば、以下のように指定したユーザでログインできます。

f:id:chatoracat:20181028223016p:plain

キーボードが画面下に表示されますが、英数字以外の記号や上下左右の矢印などを打ちたい場合はキーボード内の「・・・」のアイコンをクリックします。

f:id:chatoracat:20181028223153p:plain

これで上のアイコンを押せば、過去に入力したコマンドが参照できますし、ターミナル上のコマンド操作も苦になりません。

f:id:chatoracat:20181028223216p:plain

まとめ

iPhone のターミナルアプリで EC2 のサーバに ssh で接続する方法を紹介しました。

秘密鍵のコピーが少し面倒ですが、一度設定してしまえばその後は楽ですから悲観的になることはありません。ぜひトライしてみましょう。

私の普段のサーバの作業は Web サーバに設定しているブラウザベースの管理画面、または PC から SSH でターミナルで接続する機会が圧倒的に多いです。

しかし自分の PC がない場合や、外出先で緊急性のある場合にすぐにサーバを操作したい場面も出てきます。

そんな時に、iPhone で LTE(4G)の回線があれば画面は小さいけど少々の作業なら可能です。

興味があればアプリをインストールしてみてください。

また、他にもオススメのターミナルアプリがあればぜひ教えてください。