🎃

fly.io VM 上のファイルを scp でローカルにコピーする

2022/10/11に公開

これはなに?

本番環境を手元で再現させるために、毎回忘れる操作を備忘録として記録します。

結論

  1. VMに ssh ログインして scp コマンドをインストールしておく (Dockerfile で入れていない場合)
$ fly ssh console
# apt update
# apt install openssh-client
  1. ssh で使うキーを生成 (Organizationの選択と、メールアドレスの入力を求められるので入れる)
$ fly ssh issue --agent
Update available 0.0.414 -> v0.0.415.
Run "fly version update" to upgrade.
? Select Organization: MIZOGUCHI Coji (personal)
? Email address for user to issue cert:  coji@techtalk.jp
Populated agent with cert:
ssh-ed25519-cert-v01@openssh.com XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  1. ローカルマシンにて、fly proxy でポートを開ける
$ fly proxy 10022:22
  1. (別ターミナルで) scp でローカルにコピー
$ scp -P 10022 root@localhost:/remote_path/remote_file local_path/local_file

注: 3. のコピーの時点で WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! と怒られる場合は .ssh/known_hosts を編集して loaclhost の行を削除して再実行。

Discussion