Bagaimana cara menyalin data dari server Ubuntu menggunakan terminal dengan telnet?

4

Saya punya satu folder untuk disalin yang terdiri dari PHP dan file serupa untuk membuat situs web.

Bagaimana cara menyalin satu folder dari server (Linux Ubuntu) ke PC klien (Linux Ubuntu) menggunakan terminal? Bisakah saya menggunakan ftp? Untuk koneksi terminal saya menggunakan Telnet.

Lokasi folder di server:

qa@ubuntu:~/www/html/js 

Dan saya ingin menyalinnya ke klien di:

qa@desktop2:~/home/qa/html
klox
sumber

Jawaban:

5

Anda dapat menggunakan scp jika Anda memiliki server ssh yang berjalan pada mesin jarak jauh (hal yang baik untuk dimiliki). Telnet tidak baik, tidak terenkripsi dan mengganggu.

Karena saya berasumsi Anda dapat ssh ke mesin jarak jauh, cara dasar untuk menggunakan scp adalah:

scp -r ~/www/html/js qa@desktop2:~/home/qa/html/js

Dengan asumsi bahwa Anda ingin menyalin dari qa@ubuntu:~/www/html/jske qa@desktop2:~/home/qa/html/js scp cukup kuat, jadi saya sarankan membaca halaman manual untuk itu di

man scp
Aatch
sumber
1
Sintaks yang benar adalah user@host:path, bukan user@host/~/path . Jika saya memahaminya dengan benar, contoh Anda seharusnya scp qa@ubuntu:www/html/js qa@desktop2:home/qa/html(meskipun tidak jelas apakah @ klox ingin ~/home/qa/htmlatau ~/html).
grawity
Ups, maaf, salahku. Terima kasih atas koreksinya.
Aatch
4

Sunting: Anda akan mengalami kesulitan menyalin file melalui telnet teman saya. Mengapa Anda bersikeras menggunakan terminal?

Artinya, Anda menjalankan Windows, jadi mungkin memiliki akses ke lingkungan grafis. Jadi apakah menggunakan windows file sharing / browser web / ftp client / ssh client / etc dikesampingkan karena grafis? Dan jika demikian, mengapa?

Apakah Anda memiliki akses root pada mesin Ubuntu? Saya sarankan Anda menginstal server ssh:

sudo apt-get install openssh-server

Kemudian ambil klien SSH / SCP windows, mis. WinSCP, dan gunakan untuk masuk ke server dan menyalin file Anda.

Atau jika Anda benar-benar ingin melakukannya melalui terminal karena suatu alasan, ambil Cygwin dan instal open, kemudian gunakan perintah 'scp' yang disebutkan di bawah ini.

Anda harus sedikit lebih spesifik tentang situasi Anda.

  • OS apa yang dijalankan klien?
  • OS apa yang dijalankan server?
  • layanan apa yang server jalankan, jika Anda tahu (FTP, HTTP, NFS, SMB, SSH, dll)

Misalnya, jika Anda memiliki akses SSH ke server, sesuatu seperti ini akan berfungsi:

scp [email protected]:/remote/path/file.txt /local/path/

Jika Anda memiliki akses HTTP ke file ( http://server.mydomain.com/path/file.txt) maka seperti yang disarankan oleh poster di atas, wget:

wget http://server.mydomain.com/path/file.txt

Jawabannya sangat tergantung pada situasi Anda.

Gareth Williams
sumber
lihat pertanyaan saya yang diedit ..
klox
lokasi folder di server: qa @ ubuntu: ~ / www / html / js dan saya ingin menyalin di klien: qa @ desktop2: ~ / home / qa / html
klox
1

Jika Anda menggunakan Windows untuk ini, dan Anda benar-benar tidak dapat menggunakan HTTP dengan cara apa pun untuk mendapatkan file, Anda dapat menggunakan transfer file old-school melalui protokol ASCII 7-bit. Saya berbicara tentang Z-Modem. Yang terakhir melihat penggunaan utama melalui internet dial-up, khususnya di dunia BBS, dengan garis-sisi dalam transfer unix-to-unix ketika FTP tidak tersedia (umumnya lebih dari rsh, tapi saya ngelantur).

Lagi pula, untuk mendapatkan pohon direktori dari Windows, tanpa menggunakan FTP atau HTTP, cukup terminal.

  1. Telnet ke server menggunakan HyperTerm.
  2. Tar / Zip up direktori yang Anda minati.
  3. Dari baris perintah,
    sz filename.tar.gz  
  4. Dari Hyperterm, pilih Transfer -> Terima File.
  5. Tentukan jalur penyimpanan Anda, dan "Zmodem" sebagai protokol penerima.

Ini tidak akan mentransfer secepat FTP atau HTTP, tetapi itu akan memberi Anda file.

SysAdmin1138
sumber
bagaimana jika saya ingin transfer dengan OS linux yang sama ke linux ..?
klox
1

Jika ssh / scp tidak tersedia, coba netcat.

http://nakkaya.com/2009/04/15/using-netcat-for-file-transfers/

Netcat pada dasarnya adalah dump file sederhana ke port jaringan. Ini berguna untuk transfer ke host barebone ketika ssh tidak tersedia, atau mentransfer file yang sangat besar melalui LAN / internet di mana overhead SSH enkripsi menjadi hambatan.

Yang mengatakan, scp masih merupakan cara standar untuk melakukan transfer file dari host jarak jauh. Dan jika Anda mencoba mentransfer seluruh direktori, yang terbaik adalah menggunakan rsync melalui ssh:

rsync -avz -e ssh qa@ubuntu:~/www/html/js  ~/home/qa/html

Scp melintasi direktori saat ditransfer, ini bisa sangat lambat dengan folder besar. Rsync melintasi seluruh direktori dan menerapkan kompresi gzip sebelum transfer dimulai. Jika ada salinan lokal, rsync dengan membandingkan keduanya dan hanya mentransfer delta: bagian file yang diubah.

Dan koreksi tambahan untuk saran scp sebelumnya: scp seluruh direktori membutuhkan opsi -r:

scp -r qa@ubuntu:~/www/html/js  ~/home/qa/html
Goofrider
sumber