Android

Sử dụng tập tin cấu hình ssh

TIN MỚI 05/11/2020 G,I,Â,Y PH,Ú,T m,à to,àn d,â,n h,o,a ,k,ỳ ch,ờ đ,ợ,i đ,ã đ,ế,n

TIN MỚI 05/11/2020 G,I,Â,Y PH,Ú,T m,à to,àn d,â,n h,o,a ,k,ỳ ch,ờ đ,ợ,i đ,ã đ,ế,n

Mục lục:

Anonim

Một tùy chọn sẽ là tạo một bí danh bash cho mỗi kết nối máy chủ từ xa. Tuy nhiên, có một giải pháp khác, tốt hơn nhiều và đơn giản hơn cho vấn đề này. OpenSSH cho phép bạn thiết lập tệp cấu hình cho mỗi người dùng nơi 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.

Hướng dẫn này bao gồm những điều cơ bản của tệp cấu hình máy khách SSH và giải thích một số tùy chọn cấu hình phổ biến nhất.

Điều kiện tiên quyết

Chúng tôi giả định rằng bạn đang sử dụng Linux hoặc hệ thống macOS có cài đặt máy khách OpenSSH.

Vị trí tệp cấu hình SSH

Tệp cấu hình phía máy khách OpenSSH được đặt tên là config và nó được lưu trong .ssh trong .ssh của người dùng.

Thư mục ~/.ssh được tạo tự động khi người dùng chạy lệnh ssh lần đầu tiên. Nếu thư mục không tồn tại trên hệ thống của bạn, hãy tạo nó bằng lệnh bên dưới:

mkdir -p ~/.ssh && chmod 700 ~/.ssh

Theo mặc định, tệp cấu hình SSH có thể không tồn tại, do đó bạn có thể cần tạo tệp bằng lệnh cảm ứng:

touch ~/.ssh/config

Tập tin này phải có thể đọc và ghi được bởi người dùng và người khác không thể truy cập được:

chmod 600 ~/.ssh/config

Cấu hình và cấu trúc tệp cấu hình SSH

Tệp cấu hình SSH có cấu trúc như sau:

Host hostname1 SSH_OPTION value SSH_OPTION value Host hostname2 SSH_OPTION value Host * SSH_OPTION value

Nội dung của tệp cấu hình máy khách SSH được tổ chức thành các khổ thơ (phần). Mỗi khổ bắt đầu bằng chỉ thị Host và chứa các tùy chọn SSH cụ thể được sử dụng khi thiết lập kết nối với máy chủ SSH từ xa.

Không cần thụt lề nhưng được khuyến nghị vì nó làm cho tệp dễ đọc hơn.

Lệnh Host có thể chứa một mẫu hoặc danh sách các mẫu được phân tách bằng khoảng trắng. Mỗi mẫu có thể chứa 0 hoặc nhiều ký tự không phải khoảng trắng hoặc một trong các chỉ định mẫu sau:

  • * - Khớp 0 hoặc nhiều ký tự. Ví dụ: Host * khớp với tất cả các máy chủ, trong khi 192.168.0.* Phù hợp với máy chủ trong mạng con 192.168.0.0/24 . ? - Ghép chính xác một ký tự. Mẫu, Host 10.10.0.? phù hợp với tất cả các máy chủ trong 10.10.0. phạm vi. ! - Khi được sử dụng khi bắt đầu một mẫu, nó phủ nhận kết quả khớp. Ví dụ: Host 10.10.0.* !10.10.0.5 phù hợp với bất kỳ máy chủ nào trong mạng con 10.10.0.5 ngoại trừ 10.10.0.5 .

Máy khách SSH đọc khổ thơ của tệp cấu hình theo khổ thơ và nếu có nhiều mẫu khớp nhau, các tùy chọn từ khổ thơ phù hợp đầu tiên sẽ được ưu tiên. Do đó, các khai báo cụ thể hơn về máy chủ nên được đưa ra ở phần đầu của tệp và ghi đè tổng quát hơn ở phần cuối của tệp.

Bạn có thể tìm thấy một danh sách đầy đủ các tùy chọn ssh có sẵn bằng cách nhập man ssh_config trong thiết bị đầu cuối của bạn hoặc bằng cách truy cập trang man ssh_config.

Tệp cấu hình SSH cũng được đọc bởi các chương trình khác như scp , sftp rsync .

Ví dụ về tệp cấu hình SSH

Bây giờ chúng ta đã trình bày cơ bản của tệp cấu hình SSH, hãy xem ví dụ sau.

Thông thường, khi kết nối với máy chủ từ xa thông qua SSH, bạn sẽ chỉ định tên người dùng, tên máy chủ và cổng từ xa. Ví dụ: để đăng nhập với tư cách người dùng có tên john vào máy chủ có tên dev.example.com trên cổng 2322 từ dòng lệnh, bạn sẽ gõ:

ssh [email protected] -p 2322

Để kết nối với máy chủ bằng các tùy chọn tương tự như được cung cấp trong lệnh trên chỉ bằng cách nhập ssh dev , hãy đặt các dòng sau vào tệp "~/.ssh/config :

~ /.ssh / config

Host dev HostName dev.example.com User john Port 2322

Bây giờ khi bạn gõ ssh dev , máy khách ssh sẽ đọc tệp cấu hình và sử dụng các chi tiết kết nối được chỉ định cho máy chủ dev :

ssh dev

Ví dụ về tệp cấu hình SSH được chia sẻ

Ví dụ này cung cấp thông tin chi tiết hơn về các mẫu máy chủ và ưu tiên tùy chọn.

Hãy lấy tập tin ví dụ sau:

Host targaryen HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key Host tyrell HostName 192.168.10.20 Host martell HostName 192.168.10.50 Host *ell user oberyn Host * !martell LogLevel INFO Host * User root Compression yes

  • Khi bạn gõ ssh targaryen , máy khách ssh sẽ đọc tệp và áp dụng các tùy chọn từ kết quả khớp đầu tiên, đó là Host targaryen . Sau đó, nó kiểm tra từng khổ thơ tiếp theo để tìm mẫu phù hợp. Đối sánh tiếp theo là Host * !martell (có nghĩa là tất cả các máy chủ ngoại trừ martell ) và nó sẽ áp dụng tùy chọn kết nối từ khổ thơ này. Định nghĩa cuối cùng Host * cũng khớp, nhưng máy khách ssh sẽ chỉ User tùy chọn Compression vì tùy chọn User đã được xác định trong Host targaryen thơ Host targaryen .

    Danh sách đầy đủ các tùy chọn được sử dụng khi bạn nhập ssh targaryen như sau:

    HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key LogLevel INFO Compression yes

    Khi chạy ssh tyrell , các mẫu máy chủ phù hợp là: Host tyrell , Host *ell , Host * !martell Host * . Các tùy chọn được sử dụng trong trường hợp này là:

    HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes

    HostName 192.168.10.50 User oberyn Compression yes

    Đối với tất cả các kết nối khác, máy khách ssh sẽ sử dụng các tùy chọn được chỉ định trong phần Host * !martell Host * .

Ghi đè tùy chọn tệp cấu hình SSH

Máy khách ssh đọc cấu hình của nó theo thứ tự ưu tiên sau:

  1. Các tùy chọn được chỉ định từ dòng lệnh.Options được xác định trong ~/.ssh/config .Options được xác định trong /etc/ssh/ssh_config .

Host dev HostName dev.example.com User john Port 2322

và bạn muốn sử dụng tất cả các tùy chọn khác nhưng để kết nối với tư cách là người dùng root thay vì john chỉ cần chỉ định người dùng trên dòng lệnh:

ssh -o "User=root" dev

Tùy chọn -F ( configfile ) cho phép bạn chỉ định tệp cấu hình cho mỗi người dùng thay thế.

Để yêu cầu máy khách ssh bỏ qua tất cả các tùy chọn được chỉ định trong tệp cấu hình ssh, hãy sử dụng:

ssh -F /dev/null [email protected]

Phần kết luận

Chúng tôi đã chỉ cho bạn cách cấu hình tệp cấu hình ssh người dùng của bạn. Bạn cũng có thể muốn thiết lập xác thực dựa trên khóa SSH và kết nối với máy chủ Linux của mình mà không cần nhập mật khẩu.

Theo mặc định, SSH lắng nghe trên cổng 22. Thay đổi cổng SSH mặc định sẽ thêm một lớp bảo mật bổ sung cho máy chủ của bạn bằng cách giảm nguy cơ tấn công tự động.

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