Làm cách nào để sao chép dữ liệu từ máy chủ Ubuntu bằng thiết bị đầu cuối bằng telnet?


4

Tôi có một thư mục để sao chép bao gồm PHP và các tệp tương tự để tạo một trang web.

Làm cách nào để sao chép một thư mục từ máy chủ (Linux Ubuntu) sang PC khách (Linux Ubuntu) bằng thiết bị đầu cuối? Tôi có thể sử dụng ftp? Đối với kết nối đầu cuối tôi đang sử dụng Telnet.

Vị trí thư mục trên máy chủ:

qa@ubuntu:~/www/html/js 

Và tôi muốn sao chép nó cho khách hàng tại:

qa@desktop2:~/home/qa/html

Câu trả lời:


5

Bạn có thể sử dụng scp nếu bạn có máy chủ ssh chạy trên máy từ xa (dù sao cũng nên có một cái tốt). Telnet không tốt, không được mã hóa và gây khó chịu.

Vì tôi giả sử bạn có thể ssh vào máy từ xa, nên cách cơ bản để sử dụng scp là:

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

Giả sử bạn muốn sao chép từ qa@ubuntu:~/www/html/js đến qa@desktop2:~/home/qa/html/js scp khá mạnh, vì vậy tôi khuyên bạn nên đọc trang man cho nó tại

man scp

1
Cú pháp đúng là user@host:path, không phải user@host/~/path. Nếu tôi hiểu đúng, ví dụ của bạn sẽ là scp qa@ubuntu:www/html/js qa@desktop2:home/qa/html (mặc dù không rõ liệu @klox có muốn không ~/home/qa/html hoặc là ~/html ).
grawity

Rất tiếc, xin lỗi, xấu của tôi. Cảm ơn vì sự đúng đắn của bạn.
Aatch

4

Chỉnh sửa: Bạn sẽ gặp khó khăn khi sao chép tập tin qua telnet bạn của tôi. Tại sao bạn nhấn mạnh vào việc sử dụng một thiết bị đầu cuối?

Có nghĩa là, bạn đang chạy Windows, vì vậy có lẽ có quyền truy cập vào môi trường đồ họa. Vì vậy, việc sử dụng chia sẻ tệp windows / trình duyệt web / ftp client / ssh client / etc sẽ bị loại trừ vì chúng là đồ họa? Và nếu vậy, tại sao?

Bạn có quyền truy cập root trên máy Ubuntu không? Tôi sẽ đề nghị bạn cài đặt một máy chủ ssh:

sudo apt-get install openssh-server

Sau đó lấy một máy khách SSH / SCP của windows, vd. WinSCP và sử dụng nó để đăng nhập vào máy chủ và sao chép các tệp của bạn.

Hoặc nếu bạn thực sự muốn thực hiện nó thông qua thiết bị đầu cuối vì một số lý do, hãy lấy Cygwin và cài đặt mở, sau đó sử dụng lệnh 'scp' được đề cập bên dưới.

Bạn cần phải cụ thể hơn một chút về tình huống của bạn.

  • Hệ điều hành nào là máy khách đang chạy?
  • Máy chủ đang chạy hệ điều hành nào?
  • máy chủ nào đang chạy, nếu bạn biết (FTP, HTTP, NFS, SMB, SSH, v.v.)

Ví dụ: nếu bạn có quyền truy cập SSH vào máy chủ, một cái gì đó như thế này sẽ hoạt động:

scp user@server.mydomain.com:/remote/path/file.txt /local/path/

Nếu bạn có quyền truy cập HTTP vào tệp ( http://server.mydomain.com/path/file.txt ) sau đó như các poster ở trên đề xuất, wget:

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

Câu trả lời phụ thuộc rất nhiều vào tình huống của bạn.


nhìn vào câu hỏi đã được chỉnh sửa của tôi ..
klox

vị trí thư mục tại máy chủ: qa @ ubfox: ~ / www / html / js và tôi muốn sao chép tại máy khách: qa @ desktop2: ~ / home / qa / html
klox

1

Nếu bạn đang sử dụng Windows cho việc này và bạn thực sự không thể sử dụng HTTP theo bất kỳ cách nào để nhận tệp, bạn có thể sử dụng chuyển tập tin trường học cũ qua các giao thức ASCII 7 bit. Tôi đang nói về Z-Modem. Lần gần đây nhất, nó đã được sử dụng nhiều trên internet quay số, đặc biệt là trong thế giới BBS, với một đường truyền phụ chuyển từ unix sang unix khi FTP không khả dụng (nói chung là qua rsh, nhưng tôi đang lạc đề).

Dù sao, để có được cây thư mục đó từ Windows, mà không cần sử dụng FTP hoặc HTTP, chỉ cần thiết bị đầu cuối.

  1. Telnet đến máy chủ bằng HyperTerm.
  2. Tar / Zip lên các thư mục bạn quan tâm.
  3. Từ dòng lệnh,
    sz filename.tar.gz  
  4. Từ Hyperterm, chọn Chuyển - & gt; Nhận hồ sơ.
  5. Chỉ định đường dẫn lưu của bạn và "Zmodem" làm giao thức nhận.

Nó sẽ không chuyển nhanh như FTP hoặc HTTP, nhưng nó sẽ giúp bạn có được các tệp.


Làm thế nào nếu tôi muốn chuyển cùng hệ điều hành linux sang linux ..?
klox

1

Nếu ssh / scp không có sẵn, hãy thử netcat.

http://nakkaya.com/2009/04/15/USE-netcat-for-file-translike/

Netcat về cơ bản là một tệp kết xuất đơn giản vào một cổng mạng. Việc chuyển sang máy chủ barebone rất hữu ích khi ssh không khả dụng hoặc chuyển các tệp rất lớn qua mạng LAN / internet trong đó chi phí mã hóa SSH trở thành nút cổ chai.

Điều đó nói rằng, scp vẫn là cách tiêu chuẩn để thực hiện chuyển tập tin từ máy chủ từ xa. Và nếu bạn đang cố gắng chuyển toàn bộ thư mục, tốt nhất nên sử dụng rsync qua ssh:

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

Scp đi qua thư mục khi nó được chuyển, nó có thể rất chậm với các thư mục lớn. Rsync đi qua toàn bộ thư mục và áp dụng nén gzip trước khi bắt đầu truyền. Nếu một bản sao cục bộ tồn tại, rsync với so sánh hai và chỉ chuyển delta: phần đã thay đổi của các tệp.

Và một chỉnh sửa bổ sung cho đề xuất scp trước: scp toàn bộ thư mục yêu cầu tùy chọn -r:

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

0

Nó phụ thuộc vào cách tập tin được phục vụ. Nếu tệp có thể được tải xuống từ trình duyệt web, thì lệnh "wget" sẽ hoạt động: http://linux.die.net/man/1/wget

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.