Bagaimana cara mengunduh file dari baris perintah? via ssh?

21

Saya ingin mengunduh file dari server jauh ke drive lokal saya, dan melakukannya dari baris perintah. Saya juga ingin dapat melakukan ini di atas SSH. Bagaimana saya bisa melakukan ini?

Catatan: server jarak jauh adalah Ubuntu, lokalnya adalah Mac OS X

Andrew
sumber

Jawaban:

29

Gunakan- scpperintah, ini berjalan di atas SSH. Contoh:

scp [email protected]:/path/to/file localfile

Ini juga bekerja sebaliknya

scp localfile username@host:/path/remotefile

Nama pengguna, jalur, dan nama file dapat dihilangkan (tetapi bukan :!).

Seperti Iain mengatakan, SFTP bekerja juga, tapi saya cenderung mendukung scpuntuk perusahaan cppenggunaan -seperti.

Ahe
sumber
Kurang umum, saya yakin, dan koreksi saya jika saya salah, tapi saya pikir scp juga berfungsi dari jarak jauh ke jarak jauh, jika Anda benar-benar perlu: scp username@remote1:/path/to/file username@remote2:/path/to/file
JMD
dapatkah Anda menyalin direktori?
Andrew
mengetahuinya ... -r juga menyalin direktori secara rekursif
Andrew
Saya sarankan menambahkan -popsi saat menyalin file atau folder dengan scp. Itu juga menyalin atribut file (cap waktu dan bendera). Saya menemukan saya ingin -plebih sering daripada saya tidak menginginkannya!
joeytwiddle
Anda juga dapat merutekan remote-ke-remote melalui localhost menggunakan -3flag: scp -3 [email protected]:/files/file1.zip [email protected]:/archivesIni berguna jika Anda perlu menggunakan kunci pribadi untuk akses ke kedua server yang hanya ditemukan di localhost: scp -3i /local/path/to/.ssh/private_key dan@host1:/path/to/file.txt miri@host2:/path/to/upload/dir/Bilah progres dinonaktifkan untuk -3
Dan Sandland
3

Anda juga bisa menggunakannya rsyncuntuk itu. Itu bisa bekerja di atas SSH.

osgx
sumber
rsync -avvPadalah favorit saya untuk file dan / atau folder, tetapi ada satu kelemahan: perlu diinstal pada mesin jarak jauh.
joeytwiddle
Jika Anda mengalami masalah saat menyambungkan, Anda mungkin harus -e sshmemberi tahu rsync agar terhubung melalui ssh.
joeytwiddle
3

Saya menggunakan SFTP untuk ini. Ini baris perintah dan menggunakan keamanan yang sama dengan SSH.

Iain
sumber
1

Jika Anda tidak dapat menggunakan scpatau SFTP Anda dapat menggunakan tarlebih dari SSH:

tar cf - . | ssh otherhost "cd /mydir; tar xvf -"

Yang ini juga bagus jika Anda memiliki file jarang yang jika tidak akan "meledak".

Jimmy Hedman
sumber