iPadとBlinkでAWSとGCPにSSH接続した
自分のマシンからネットワークを通じてどこかにアクセスする場合、やりとりを盗み見される可能性がある。
素の状態だと情報が筒抜けになってしまうので、盗み見を防ぐために、SSH(Secure SHell)と呼ばれる暗号化手段がある。それをiOSで実現できるアプリの一つとして、Blinkというアプリが挙げられる。
今回はそのBlinkを使って、AWSとGCPで作成したLinuxインスタンスにアクセスできるようにした。
AWS(Amazon Web Service)とGCP(Google Cloud Platform)はamazonとgoogleがそれぞれ提供しているサーバーなどを簡単に作れる開発者向けサイトのこと。
GCPのインスタンスでSSHでログインしたところ。長くなったので、GCPの方は別の記事にする。
簡単にいうとiPadからLinuxサーバーを操作してる感じ。
ハマったところ
AWSで接続する
AWSにログインしてEC2をクリック
インスタンスの作成をクリック
Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-02fd0b06f06d93dfc を選択
インスタンスタイプは特に指定せずに(無料枠のまま)確認と作成をクリック
作成をクリック
新しいキーペアの作成 > キーペア名を入力(ここではblinkと入力した) その後、キーペアのダウンロードをクリックして、インスタンスの作成をクリック。
そうすると[キーベア名].pemという名前(ここではblink.pem)で公開鍵暗号方式の秘密鍵が作られる。公開鍵はインスタンスに自動で登録されるっぽい。
このblink.pemを何らかの手段でiPadに送る。(私はGoogle Driveにアップロードしたが手段としては人に勧められなさそう)
iPadで「ファイルに保存」
このiPad内 > 「Blinkフォルダ」に追加
ブラウザに戻って、インスタンスの表示をクリック
パブリックDNS(赤線の部分)をコピペする
これで接続する準備ができた。
以下のコマンドで接続できるようになる。
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 ~]$