狐の嫁入りっていいよね

理系と芸術系になりそなった文系卒、コンピュータグラフィックスを学ぶ

iPadとBlinkでAWSとGCPにSSH接続した

f:id:lipton_lemontea:20190113202505p:plain

BlinkっていうアプリがiOSにある。

Blink Shell: iOSでmoshを使う

自分のマシンからネットワークを通じてどこかにアクセスする場合、やりとりを盗み見される可能性がある。

素の状態だと情報が筒抜けになってしまうので、盗み見を防ぐために、SSH(Secure SHell)と呼ばれる暗号化手段がある。それをiOSで実現できるアプリの一つとして、Blinkというアプリが挙げられる。

今回はそのBlinkを使って、AWSGCPで作成したLinuxインスタンスにアクセスできるようにした。

AWS(Amazon Web Service)とGCP(Google Cloud Platform)はamazongoogleがそれぞれ提供しているサーバーなどを簡単に作れる開発者向けサイトのこと。

GCPインスタンスSSHでログインしたところ。長くなったので、GCPの方は別の記事にする。

f:id:lipton_lemontea:20190113202615p:plain

AWSインスタンスSSHでログインしたところ

f:id:lipton_lemontea:20190113202621p:plain

簡単にいうとiPadからLinuxサーバーを操作してる感じ。



ハマったところ



AWSで接続する

AWSでまずLinuxインスタンスを作成する。

AWSにログインしてEC2をクリック

f:id:lipton_lemontea:20190113202512p:plain


インスタンスの作成をクリック

f:id:lipton_lemontea:20190113202518p:plain


Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-02fd0b06f06d93dfc を選択

f:id:lipton_lemontea:20190113204739p:plain


インスタンスタイプは特に指定せずに(無料枠のまま)確認と作成をクリック

f:id:lipton_lemontea:20190113204912p:plain


作成をクリック

f:id:lipton_lemontea:20190113205020p:plain


新しいキーペアの作成 > キーペア名を入力(ここではblinkと入力した) その後、キーペアのダウンロードをクリックして、インスタンスの作成をクリック。

f:id:lipton_lemontea:20190113205237p:plain

そうすると[キーベア名].pemという名前(ここではblink.pem)で公開鍵暗号方式秘密鍵が作られる。公開鍵はインスタンスに自動で登録されるっぽい。

このblink.pemを何らかの手段でiPadに送る。(私はGoogle Driveにアップロードしたが手段としては人に勧められなさそう)

iPadで「ファイルに保存」

f:id:lipton_lemontea:20190113202640p:plain


このiPad内 > 「Blinkフォルダ」に追加

f:id:lipton_lemontea:20190113202646p:plain


ブラウザに戻って、インスタンスの表示をクリック

f:id:lipton_lemontea:20190113205533p:plain


パブリックDNS(赤線の部分)をコピペする

f:id:lipton_lemontea:20190113202622p:plain

これで接続する準備ができた。

以下のコマンドで接続できるようになる。

ssh -i blink.pem ec2-user@[パブリックDNS]

次にiPadのBlinkからこのインスタンスSSH接続をする。

# 何故かblink.pemのはずがblink.cerになっているので修正
blink> ls
blink.cer       iCloud
blink> mv blink.cer blink.pem

# linuxインスタンスにssh接続
blink> ssh -i blink.pem ec2-user@[your public DNS]
xxxxx key fingerprint is SHA256:xxxxxxxxxxxx
The server is unknown.
Do you trust the host key? (yes/no):yes
This new key will be written on disk for further usage.
Do you agree? (yes/no):

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
10 package(s) needed for security, out of 12 available
Run "sudo yum update" to apply all updates.
[ec2-user@my_aws ~]$ 

これでiPadLinuxに引きこもれるようになった。ひゃっほい。