Skip to content

Instantly share code, notes, and snippets.

@matsubo
Last active July 14, 2021 11:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matsubo/37941e7ee8243c9440639c8b9f1f8168 to your computer and use it in GitHub Desktop.
Save matsubo/37941e7ee8243c9440639c8b9f1f8168 to your computer and use it in GitHub Desktop.

rsync over sshをSSM上で使う設定方法

設定

前提

AWS上でアカウント追加

ターゲットとなるホストでの設定

  • ログイン元のssh公開鍵認証キーペアの公開鍵を、ターゲットとなるホストのログインをするユーザの authorized_keys に登録する。

端末での設定

  • 必須プログラム
    • aws-cli
    • aws session manager plugin
  • aws configure などを使ってcredentialを設定ファイルに記述しておく
  • AWS Session managerを使ってbastionにssh接続してみる
    • aws ssm start-session --target i-05a6d249f191b253a
  • ~/.ssh/config へ以下の設定を追加する
    • もし、複数のprofileを使っている場合は AWS_PROFILE 環境変数に設定してsshコマンド経由でも同じawsのcredentialを使うように注意する必要がある。
host i-* mi-*
    ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
  • sshコマンドでbastionへ接続してみる
    • ssh sstaff@i-05a6d249f191b253a
  • rsyncコマンド経由でファイルを転送してみる
    • rsync -aruzv -e ssh <source> sstaff@i-05a6d249f191b253a:<destination>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment