Làm cách nào để sử dụng SSH (lệnh ssh & rsync)?


44

Làm cách nào tôi có thể SSH với một máy chủ từ xa để tôi có thể duyệt các tệp và chỉnh sửa chúng? Tôi có một tên người dùng và mật khẩu để sử dụng.

Câu trả lời:


49

SSH mặc định xuất hiện trong tất cả các phiên bản Ubuntu để bạn tiết kiệm khi phải cài đặt nó (+1 vì đã có sẵn ở đó;))

Tất nhiên ngoại trừ trong trường hợp bạn muốn có máy chủ SSH cho máy chủ Ubuntu của mình. Trong trường hợp đó bạn sẽ

sudo apt-get install openssh-server 

mà sẽ làm cho máy tính / máy chủ của bạn sẵn sàng trở thành một máy chủ ssh.

Để sử dụng nó khá dễ dàng:

ssh USER@SITEví dụ: nếu tên người dùng của tôi là cyrex và trang web là ubfox.com thì bạn sẽ làm điều này:

ssh cyrex@ubuntu.com

Bây giờ hãy nói rằng bạn muốn sao chép một tệp được gọi bubblegum.txttừ máy tính của bạn vào trang web ubfox của bạn và muốn để lại tệp đó trong /var/wwwthư mục trong trang web ubfox. bạn có thể làm điều này (giả sử người dùng của bạn có đủ quyền trong trang web ubfox) bằng cách sử dụng Brother, SCP của SSH (cũng được mặc định trong Ubuntu):

scp bubblegum.txt cyrex@ubuntu.com:/var/www 

Lưu ý :giữa USER @ SITE và thư mục mà bạn muốn sao chép nó. Nó là một trong những tách biệt cả hai yếu tố.

Bây giờ hãy nói rằng bạn đang tải lên một số tệp khổng lồ bằng scp và sau đó điều tồi tệ nhất xảy ra, thế giới bùng nổ. Làm thế nào bạn có thể tiếp tục tải tập tin đó lên máy chủ. Sau đó, bạn có người anh lớn của SCP, rsync (Được mặc định trong Ubuntu). Theo nhiều cách, scp và rsync làm điều tương tự nhưng đây là một số khác biệt lớn giữa chúng:

  • rsync có thể tải lên một phần tệp còn lại từ rsync hoặc scp sau khi ngắt kết nối hoặc thống trị thế giới.
  • rsync có thể hiển thị tiến trình tốt hơn nhiều so với scp
  • rsync có thể tối ưu hóa việc tải lên theo cách mà bạn thực sự có thể lưu giây hoặc phút khi tải lên. Nó cũng hiển thị ở phần cuối của tải lên, bạn đã lưu bao nhiêu.

Dù sao, trong trường hợp scp không thể tải lên toàn bộ tệp, đây là lúc rsync xuất hiện để giải cứu. (Cảm ơn Marco Ceppi về tiền boa. Hãy bình luận nhận xét của anh ấy nếu bạn thích mèo .. và / hoặc chó)

Hãy nói rằng bạn đã tải lên đề cập ở trên từ scp và nó đã đạt tới 60%. Làm thế nào bạn có thể tiếp tục trong 60% đó mà không mất thời gian đáng để tải lên. Bạn sẽ làm điều này:

rsync --progress --partial bubblegum.txt cyrex@ubuntu.com:/var/www  

Điều này nói với rsync để hiển thị tiến trình theo cách dễ đọc của con người với --progresscờ. Nó cũng yêu cầu rsync kiểm tra và tiếp tục từ nơi tệp bubblegum.txt đến với --partialcờ. Bạn cũng có thể đơn giản hóa số lượng để ghi với tham số -P giống như --propro và --partial, do đó, ở trên sẽ như sau:

rsync -P bubblegum.txt cyrex@ubuntu.com:/var/www  

Bạn thậm chí có thể CTRL+ Ctải lên và tiếp tục nó bằng cách thực hiện lệnh từ rsync ở trên. Rất tuyệt vời để có khả năng tiếp tục một cái gì đó bất cứ lúc nào bất cứ lúc nào.

Để biết thêm thông tin về rsync theo mặc định với Ubuntu, bạn có thể nhập các lệnh đầu cuối sau:

man rsync  
info rsync  
rsync --help

Bây giờ để chỉ định một cổng cho SSH. Để chỉ định nó, bạn có thể làm như thế này:

ssh cyrex@ubuntu.com -p PORT. Ví dụ: ssh cyrex@ubuntu.com -p 1234để bảo nó sử dụng Cổng 1234 cho dịch vụ SSH. Điều này phải được cấu hình trong máy chủ trước để nó hoạt động.

Để cấu hình, chỉ cần mở trong máy chủ tệp ssh_config như thế này: nano /etc/ssh/ssh_configvà thay đổi dòng nói # port 22với cổng khác. Cũng nhớ xóa bình luận từ dòng đó. Nó sẽ trông như thế này: port 1234trong trường hợp ví dụ ở trên.

Bây giờ chỉ cần khởi động lại dịch vụ ssh trong máy chủ và bạn đã hoàn tất. Để khởi động lại dịch vụ, chỉ cần làm điều này:

sudo restart ssh

hoặc là

sudo /etc/init.d/ssh restart

LƯU Ý - Bạn cũng có thể sử dụng SSH từ các công cụ GUI như filezillacung cấp tùy chọn sử dụng ssh thay vì ftp. ssh cũng có thể được truy cập từ trong menu Ubuntu:

nhập mô tả hình ảnh ở đây

cho phép truy cập vào một số tùy chọn bao gồm Windows share, SSH và FTP :

nhập mô tả hình ảnh ở đây

Để biết thêm thông tin về SSH, bạn có thể sử dụng một trong các lệnh sau trong bảng điều khiển trong hộp Ubuntu của mình:

man ssh  
info ssh  
ssh --help

Những gì bạn đang đề cập đến xin lỗi?
Luis Alvarado

23

Nếu bạn muốn duyệt máy chủ thông qua Nautilus giống như bạn làm với các tệp trên máy cục bộ của mình:

  1. Mở Nautilus ("Thư mục chính")
  2. Chuyển đến "Tệp" -> "Kết nối với máy chủ"

    Kết nối với máy chủ

  3. Chọn "SSH" trong "Loại dịch vụ"

  4. Đặt địa chỉ IP hoặc tên miền trong "Máy chủ"

    Chọn SSH

  5. Thêm tên người dùng của bạn và kiểm tra "Thêm dấu trang" nếu bạn muốn vị trí được lưu vào dấu trang của bạn.

Các thư mục sẽ mở ngay cho bạn.


Trên Kubfox người ta có thể làm tương tự với Krusader .
Adobe

6

Bạn có thể sử dụng sshfsđể gắn một thư mục từ xa vào hệ thống tập tin cục bộ của bạn.

Xem https://help.ubfox.com/community/SSHFS :

Sử dụng dòng lệnh

Bây giờ, giả sử rằng bạn có máy chủ SSH chạy trên máy từ xa, chỉ cần chạy lệnh SSHFS để gắn thư mục từ xa. Trong ví dụ này, thư mục từ xa là / dự án trên máy chủ từ xa. Điểm gắn kết cục bộ là ~ / far_projects.

mkdir ~/far_projects
sshfs -o idmap=user $USER@far:/projects ~/far_projects

Để ngắt kết nối,

fusermount -u ~/far_projects

Để thêm nó vào / etc / fstab của bạn,

sshfs#$USER@far:/projects /home/$USER/far_projects fuse defaults,idmap=user 0 0

Lưu ý rằng bạn phải thay đổi $ USER thành tên đăng nhập của mình khi chỉnh sửa fstab, nhưng không cần thiết khi gõ lệnh (shell thực hiện cho bạn trong trường hợp đó).


4

Giả sử máy chủ ssh đã được thiết lập, hãy mở một thiết bị đầu cuối và gõ:

ssh username@hostname

Bạn sẽ được nhắc nhập mật khẩu của bạn; Chỉ cần nhập nó. Nếu bạn cần một số cổng, thêm -p PORTNUM.


2

Nếu bạn có thể sử dụng Vim, Pico hoặc vv, bạn có thể sử dụng thiết bị đầu cuối:

ssh MYUSER@mysite.com

Nhập mật khẩu của bạn và bạn đang ở. Từ đó, nó giống như một thiết bị đầu cuối thông thường, ngoại trừ bạn không có GUI.

Lưu ý, bạn có thể thêm tùy chọn '-X' và nếu máy chủ của bạn có máy chủ X được định cấu hình, bạn có thể chạy các chương trình GUI. Chỉ cần nhập tên của họ nếu bạn đã thêm -X và nó sẽ khởi chạy một cửa sổ GUI.

Bây giờ, bạn có thể sẽ muốn thiết lập đăng nhập không mật khẩu. Nếu bạn chưa có khóa, hãy nhập ssh-keygenvà chỉ cần nhấn enter cho tất cả các giá trị mặc định. Sau đó làm ssh-copy-id MYUSER@mysite.com. Khi đã xong, chỉ cần nhập ssh MYUSER@mysite.comvà bạn không phải nhập mật khẩu của mình!

Nếu tên người dùng của bạn giống với tên người dùng máy tính xách tay của bạn, bạn không cần MYUSER@. Bạn chỉ có thể làm ssh mysite.com. Bạn cũng có thể sử dụng -l MYUSERtùy chọn thay vìMYUSER@

Nếu bạn muốn có GUI, Nautilus có thể làm điều này. ->Kết nối tệp với máy chủ ->[chọn 'SSH', sau đó điền chi tiết đăng nhập] -> Kết nối.

Nếu bạn chỉ muốn sao chép một tệp duy nhất, hãy sử dụng scp [sao chép an toàn].
scp MYUSER@mysite.com:path/to/file.dat ./

Điều này sao chép tệp "~ / path / to / file.dat" vào thư mục hiện tại của bạn. Lưu ý, nếu bạn không có dấu gạch chéo hoặc dấu ngã sau :, nó sẽ hoạt động giống như bạn đang ở trong thư mục nhà của bạn [ ~/]. Nếu bạn muốn tải lên, scp ./local_file.dat MYUSER@mysite.com: Điều đó sẽ đặt nó trong thư mục nhà của bạn.


0

ssh -X -C user@host nautilus --no-desktop đi trong chế độ gui :)


Nautilus cục bộ chỉ có thể kết nối với chia sẻ SSH. Không cần thiết phải chạy Nautilus từ xa. Tôi thực sự không khuyên bạn nên làm điều đó. Gợi ý sáng tạo, nhưng vẫn -1
Jo-Erlend Schinstad
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.