Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プライベートサブネットにあるLinux EC2からファイルを手元のMAcに持ってくる方法

プライベートサブネットにあるLinux EC2からファイルを手元のMAcに持ってくる方法

野崎高弘

October 23, 2024
Tweet

More Decks by 野崎高弘

Other Decks in Technology

Transcript

  1. 目次 3 自己紹介 野崎 高弘(のざき たかひろ) ・仕事:前職まではインフラ構築・保守やSOCセキュリティアナリスト 現在は見積もり、提案などのドキュメント作業や技術検証が主のインフラエンジニア ・趣味:資格取得、犬の散歩、ドラマ鑑賞、巨人ファン ・資格:現在、AWS・GCP全冠、その他100種以上保持の資格オタク

    ・2024年3月『AWS認定 高度なネットワーキング-専門知識(ANS-C01)完全対応テキスト』 執筆(2章、巻末模擬問題担当) ・主な受賞歴 2023 Japan AWS All Certifications Engineers 2024 Japan AWS All Certifications Engineers 2024 Japan AWS Top Engineers(Networking)
  2. 目次 7 目的・やりたいこと 2.EICエンドポイントを使ってログイン プライベートサブネットのEC2にログインする方法として、EIC(EC2 Instance Connect)エ ンドポイントが比較的最近できました。これであればLinuxでもWindowsでもログインできます。 ただし、 •

    EICエンドポイント(VPCエンドポイント)を作成する必要がある • コマンドが煩雑になりがち 例) という問題があります。 そこで、本LTではSession Manager(SSM)のポートフォワーディング機能を使った比較的簡 単な方法をご紹介します。 $ scp -i nozaki-key.pem -o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-id i-0123456789abcdef' ./aaa.txt ec2-user@i-0123***:/home/ec2-user/
  3. 目次 12 事前作業 % curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip" % Total

    % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3822k 100 3822k 0 0 1274k 0 0:00:02 0:00:02 --:--:-- 1274k % unzip sessionmanager-bundle.zip Archive: sessionmanager-bundle.zip creating: sessionmanager-bundle/ inflating: ***** extracting: sessionmanager-bundle/VERSION % sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager- plugin Password: Creating install directories: /usr/local/sessionmanagerplugin/bin Creating Symlink from /usr/local/sessionmanagerplugin/bin/session-manager-plugin to /usr/local/bin/session- manager-plugin Installation successful!
  4. 目次 13 手順 1.EC2に対してSSMでポートフォワード設定を行う PCで以下のコマンドを実行し、SSM経由でPCのローカルポート10022/TCPを対象EC2の 22/TCPに転送するトンネルを確立させます。 % aws ssm start-session

    --target i-0123456789abcdef --document-name AWS- StartPortForwardingSession --parameters '{"portNumber":["22"], "localPortNumber":["10022"]}' --no-verify urllib3/connectionpool.py:1063: InsecureRequestWarning: Unverified HTTPS request is being made to host 'ssm.ap-northeast-1.amazonaws.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced- usage.html#ssl-warnings Starting session with SessionId: nozaki-89**** Port 10022 opened for sessionId nozaki-89****. Waiting for connections...
  5. 目次 14 手順 コマンド実行後はSSHクライアントの接続待ち状態となるので転送完了まで端末はそのままとし ます。 2.EC2から欲しいファイルをPCに転送する PCのSCP/SFTPクライアントソフトウェアにてポートフォワード設定したローカルポートに対し て接続を行います。 例)scpコマンドの場合 #

    scp -i nozaki.pem -o IdentitiesOnly=yes -P 10022 [email protected]:/home/ec2- user/aaa ./ The authenticity of host '[127.0.0.1]:10022 ([127.0.0.1]:10022)' can't be established. ED25519 key fingerprint is SHA256:G********* This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '[127.0.0.1]:10022' (ED25519) to the list of known hosts. aaa 100% 3517 25.3KB/s 00:00
  6. 目次 15 注意事項 このコマンドを何度も使っていると、以下のような警告が出ることがあります。 その際は /var/root/.ssh/known_hosts を開き、「[127.0.0.1]:10022」で始まる行を一旦全 て削除してください ホストキーが変更されたので、中間者攻撃による盗聴などがされている可能性があることを警告 しています。

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the E**** key sent by the remote host is SHA256:*******. Please contact your system administrator. Add correct host key in /var/root/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /var/root/.ssh/known_hosts:2 Host key for [127.0.0.1]:10022 has changed and you have requested strict checking. Host key verification failed. scp: Connection closed100% 3517 25.3KB/s 00:00
  7. 17 まとめ パブリックサブネット Windows Linux RDPしてからコピペ SCPコマンド プライベートサブネット EICエンドポイント経由 SSMポートフォワーディング

    EC2のOS サブネット まとめ EC2のOSの種類、サブネットがパブリック/プライベートによって、ファイルコピー手段が次 のように変わってきます。