秘密鍵を使用して、sshからAmazonのLinuxインスタンスに接続しました。そのインスタンスからフォルダー全体をローカルのLinuxマシンにコピーしようとしています。
これを行うための正しいscp
コマンドを教えてもらえますか?
または、scp
以上のものが必要ですか?両方のマシンはUbuntu 10.04 LTSです
再帰オプションを使用して、クライアントマシンからscp
を呼び出します。
scp -r user@remote:src_directory dst_directory
別の方法は
scp -i "insert key file here" -r "insert ec2 instance here" "your local directory"
私が犯した間違いの1つはscp -ir
でした。キーは-i
の後に、そして-r
の後になければなりません。
そう
scp -i Amazon.pem -r ec2-user@ec2-##-##-##:/source/dir /destination/dir
scp -i {key path} -r [email protected]:{remote path} {local path}
Rsyncを使用することもできます。
rsync -aPSHiv remote:directory .
私はsshfsを使用し、リモートディレクトリをローカルマシンにマウントして、必要なことを行います。 ここ は小さなガイドであり、コマンドはシステムによって変わる場合があります
EC2 Ubuntuの場合
.pemファイルディレクトリに移動します
scp -i "yourkey.pem" -r ec2user@DNS_name:/home/ubuntu/foldername ~/Desktop/localfolder
これは、Amazon ec2サービスからローカルウィンドウpcにファイルをコピーした方法です。
pscp -i "your-key-pair.pem" [email protected]:/home/username/file.txt C:\Documents\
Linuxでディレクトリをコピーするには:
scp -i "your-key-pair.pem" -r [email protected]:/home/username/dirtocopy /var/www/
Amazonに接続するには、キーペア認証が必要です。
注意:
ユーザー名はおそらくubuntuです。
各ファイルに対して「トランザクション」を実行するため、多数のファイルに対してscpを使用するのは好きではありません。次の方がはるかに優れています。
cd local_dir; ssh user@server 'cd remote_dir_parent; tar -c remote_dir' | tar -x
z
フラグをtarに追加して、サーバーで圧縮し、クライアントで圧縮解除できます。