Android

Lệnh Ssh

Valobashar Golpo | Samz Vai | Sagar Ahmed | Shamima Omi | Hamza khan Shayan | Eid Music Video 2020

Valobashar Golpo | Samz Vai | Sagar Ahmed | Shamima Omi | Hamza khan Shayan | Eid Music Video 2020

Mục lục:

Anonim

Secure Shell (SSH) là một giao thức mạng mật mã được sử dụng cho kết nối được mã hóa giữa máy khách và máy chủ. Máy khách ssh tạo kết nối an toàn đến máy chủ SSH trên máy từ xa. Kết nối được mã hóa có thể được sử dụng để thực thi các lệnh trên máy chủ, đường hầm X11, chuyển tiếp cổng và hơn thế nữa.

Có một số ứng dụng khách SSH có sẵn cả miễn phí và thương mại, với OpenSSH là ứng dụng khách được sử dụng rộng rãi nhất. Nó có sẵn trên tất cả các nền tảng chính, bao gồm Linux, OpenBSD, Windows, macOS và các nền tảng khác.

, chúng tôi sẽ giải thích cách sử dụng máy khách dòng lệnh OpenSSH ( ssh ) để đăng nhập vào một máy từ xa và chạy các lệnh hoặc thực hiện các hoạt động khác.

Cài đặt ứng dụng khách OpenSSH

Chương trình máy khách OpenSSH được gọi là ssh và có thể được gọi từ thiết bị đầu cuối. Gói máy khách OpenSSH cũng cung cấp các tiện ích SSH khác như scp sftp được cài đặt cùng với lệnh ssh .

Cài đặt OpenSSH Client trên Linux

OpenSSH client được cài đặt sẵn trên hầu hết các bản phân phối Linux theo mặc định. Nếu hệ thống của bạn không cài đặt ứng dụng khách ssh, bạn có thể cài đặt nó bằng trình quản lý gói phân phối.

Cài đặt OpenSSH trên Ubuntu và Debian

sudo apt update sudo apt install openssh-client

Cài đặt OpenSSH trên CentOS và Fedora

sudo dnf install openssh-clients

Cài đặt OpenSSH Client trên Windows 10

Hầu hết người dùng Windows đang sử dụng Putty để kết nối với máy từ xa qua SSH. Tuy nhiên, các phiên bản mới nhất của Windows 10 bao gồm máy khách và máy chủ OpenSSH. Cả hai gói có thể được cài đặt thông qua GUI hoặc PowerShell.

Để tìm tên chính xác của gói OpenSSH, hãy gõ lệnh sau:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Lệnh sẽ trả về một cái gì đó như thế này:

Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent

Một khi bạn biết tên gói cài đặt nó bằng cách chạy:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Khi thành công, đầu ra sẽ trông giống như thế này:

Path: Online: True RestartNeeded: False

Cài đặt OpenSSH Client trên macOS

macOS vận chuyển với ứng dụng khách OpenSSH được cài đặt theo mặc định.

Cách sử dụng lệnh ssh

Các yêu cầu sau phải được đáp ứng để có thể đăng nhập vào máy từ xa thông qua SSH:

  • Máy chủ SSH phải được chạy trên máy từ xa. Cổng SSH phải được mở trong tường lửa máy từ xa. Bạn phải biết tên người dùng và mật khẩu của tài khoản từ xa. Tài khoản cần phải có đặc quyền thích hợp để đăng nhập từ xa.

Cú pháp cơ bản của lệnh ssh như sau:

ssh:HOST

Để sử dụng lệnh ssh mở Terminal hoặc PowerShell của bạn và nhập ssh theo sau là tên máy chủ từ xa:

ssh ssh.linuxize.com

Khi bạn kết nối với một máy từ xa thông qua SSH lần đầu tiên, bạn sẽ thấy một thông báo như bên dưới.

The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?

Mỗi máy chủ lưu trữ có một dấu vân tay duy nhất được lưu trữ trong tệp ~/.ssh/known_hosts .

Nhập yes để lưu dấu vân tay từ xa và bạn sẽ được nhắc nhập mật khẩu của mình.

Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:

Khi bạn nhập mật khẩu, bạn sẽ đăng nhập vào máy từ xa.

Khi tên người dùng không được cung cấp, lệnh ssh sử dụng tên đăng nhập hệ thống hiện tại.

Để đăng nhập với tư cách người dùng khác, hãy chỉ định tên người dùng và máy chủ theo định dạng sau:

ssh username@hostname

Tên người dùng cũng có thể được chỉ định với tùy chọn -l :

ssh -l username hostname

Theo mặc định, khi không có cổng nào, máy khách SSH sẽ cố gắng kết nối với máy chủ từ xa trên cổng 22. Trên một số máy chủ, quản trị viên đang thay đổi cổng SSH mặc định để thêm một lớp bảo mật bổ sung cho máy chủ bằng cách giảm rủi ro tấn công tự động.

Để kết nối trên một cổng không mặc định, hãy sử dụng tùy chọn -p để chỉ định cổng:

ssh -p 5522 username@hostname

ssh -v username@hostname

Để tăng mức độ dài dòng, sử dụng -vv hoặc -vvv .

Lệnh ssh chấp nhận một số tùy chọn.

Để có danh sách đầy đủ tất cả các tùy chọn, hãy đọc trang ssh man bằng cách nhập man ssh vào terminal của bạn.

Tập tin cấu hình SSH

Ứng dụng khách OpenSSH đọc các tùy chọn được đặt trong tệp cấu hình theo người dùng ( ~/.ssh/config ). Trong tệp này, bạn có thể lưu trữ các tùy chọn SSH khác nhau cho mỗi máy từ xa mà bạn kết nối.

Một cấu hình SSH mẫu được hiển thị bên dưới:

Host dev HostName dev.linuxize.com User mike Port 4422

Khi bạn gọi máy khách ssh bằng cách gõ ssh dev , lệnh sẽ đọc tệp ~/.ssh/config và sử dụng các chi tiết kết nối được chỉ định cho máy chủ dev. Trong ví dụ này, ssh dev tương đương như sau:

ssh -p 4422 [email protected]

Để biết thêm thông tin, hãy kiểm tra bài viết về tệp cấu hình SSH.

Xác thực khóa công khai

Giao thức SSH hỗ trợ các cơ chế xác thực khác nhau.

Cơ chế xác thực dựa trên khóa công khai cho phép bạn đăng nhập vào máy chủ từ xa mà không cần phải nhập mật khẩu.

Phương pháp này hoạt động bằng cách tạo một cặp khóa mật mã được sử dụng để xác thực. Khóa riêng được lưu trữ trên thiết bị khách và khóa chung được chuyển đến từng máy chủ từ xa mà bạn muốn đăng nhập. Máy chủ từ xa phải được cấu hình để chấp nhận xác thực khóa.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Bạn sẽ được yêu cầu nhập cụm mật khẩu an toàn. Cho dù bạn muốn sử dụng cụm mật khẩu tùy thuộc vào bạn.

Khi bạn có cặp khóa của mình, hãy sao chép khóa chung vào máy chủ từ xa:

ssh-copy-id username@hostname

Nhập mật khẩu người dùng từ xa và khóa chung sẽ được thêm vào tệp authorized_keys người dùng từ xa.

Sau khi khóa được tải lên, bạn có thể đăng nhập vào máy chủ từ xa mà không được nhắc nhập mật khẩu.

Bằng cách đặt xác thực dựa trên khóa, bạn có thể đơn giản hóa quy trình đăng nhập và tăng bảo mật máy chủ tổng thể.

Cổng chuyển tiếp

Đường hầm SSH hoặc chuyển tiếp cổng SSH là phương pháp tạo kết nối SSH được mã hóa giữa máy khách và máy chủ thông qua đó các cổng dịch vụ có thể được chuyển tiếp.

Chuyển tiếp SSH rất hữu ích để vận chuyển dữ liệu mạng của các dịch vụ sử dụng giao thức không được mã hóa, chẳng hạn như VNC hoặc FTP, truy cập nội dung bị giới hạn địa lý hoặc bỏ qua tường lửa trung gian. Về cơ bản, bạn có thể chuyển tiếp bất kỳ cổng TCP nào và tạo lưu lượng truy cập qua kết nối SSH an toàn.

Có ba loại chuyển tiếp cổng SSH:

Giao nhận cảng địa phương

Chuyển tiếp cổng cục bộ cho phép bạn chuyển tiếp kết nối từ máy chủ đến máy chủ SSH và sau đó đến cổng máy chủ đích.

Để tạo chuyển tiếp cổng cục bộ, hãy chuyển tùy chọn -L cho máy khách ssh :

ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname

Tùy chọn -f báo cho lệnh ssh chạy trong nền và -N không thực hiện lệnh từ xa.

Chuyển tiếp cổng từ xa

Chuyển tiếp cổng từ xa ngược lại với chuyển tiếp cổng cục bộ. Nó chuyển tiếp một cổng từ máy chủ lưu trữ đến máy chủ máy khách và sau đó đến cổng máy chủ đích.

Tùy chọn -L yêu cầu ssh tạo chuyển tiếp cổng từ xa:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname

Chuyển tiếp cổng động

Chuyển tiếp cổng động tạo ra một máy chủ proxy SOCKS cho phép giao tiếp qua một loạt các cổng.

Để tạo chuyển tiếp cổng động (SOCKS), hãy chuyển tùy chọn -D cho máy khách ssh:

ssh -D LOCAL_PORT -N -f username@hostname

Để biết thêm thông tin chi tiết và hướng dẫn từng bước, hãy xem bài viết về Cách thiết lập đường hầm SSH (Chuyển tiếp cổng).

Phần kết luận

Để kết nối với máy chủ từ xa thông qua SSH, hãy sử dụng lệnh ssh theo sau là tên người dùng và tên máy chủ từ xa ( ssh username@hostname ).

Biết cách sử dụng lệnh ssh là một điều cần thiết để quản lý máy chủ từ xa.

thiết bị đầu cuối ssh