【Vagrant】仮想マシンにファイルを転送する方法
仮想マシンにファイルを転送する方法
- Vagrantfileがあるフォルダに移動する
- OpenSSHの設定をする
- scpコマンドで転送する
C:\work>cd C:\work\vagrant\bionic64 C:\work\vagrant\bionic64>vagrant ssh-config > ssh.config C:\work\vagrant\bionic64>scp -F ssh.config sample.txt vagrant@default:~ sample.txt 100% 3 2.8KB/s 00:00
コマンドプロンプトとGitBashは上記の方法でOKだが、PowerShellだと上手くいかない。
PowerShellは文字コードを指定する
PowerShellの場合、リダイレクトするとUTF-16でエンコードされる。
UTF-16でエンコードされたファイルでscpすると以下のエラーになる。
PS C:\work\vagrant\bionic64> vagrant ssh-config > ssh.config PS C:\work\vagrant\bionic64> scp -F ssh.config sample.txt vagrant@default:~ ssh.config: line 1: Bad configuration option: \377\376h ssh.config: terminating, 1 bad configuration options lost connection
PS C:\work\vagrant\bionic64> vagrant ssh-config | Out-File -Encoding utf8 ssh.config PS C:\work\vagrant\bionic64> scp -F ssh.config sample.txt vagrant@default:~ sample.txt 100% 3 1.0KB/s 00:00