Đặt quyền .ssh / config thích hợp

Setting Proper Ssh Config Permissions



Giao thức SSH là một giao thức an toàn thường được sử dụng để kết nối với các thiết bị từ xa như máy chủ và thiết bị mạng, bao gồm bộ định tuyến và bộ chuyển mạch. Nó hoạt động trong thiết lập máy khách-máy chủ và theo mặc định, lắng nghe trên cổng 22 (mặc dù điều này có thể được thay đổi khi cần thiết). SSH sử dụng các kỹ thuật mã hóa và băm khác nhau để đảm bảo giao tiếp giữa máy khách và máy chủ từ xa được mã hóa và an toàn khỏi bị nghe trộm.

Các tệp SSH được lưu trữ trong .ssh thư mục. Đây là một thư mục ẩn nằm trong thư mục chính. Các .ssh thư mục không được tạo theo mặc định; nó được tạo khi bạn bắt đầu kết nối với máy chủ từ xa hoặc sử dụng ssh-keygen lệnh để tạo các khóa xác thực riêng tư và công khai như khi bạn muốn thiết lập xác thực ssh không cần mật khẩu.







Các .ssh thư mục. chứa các tệp SSH thiết yếu như:



  1. Khóa Công khai và Riêng tư ( id_rsa và id_rsa.pub ).
  2. Các known_hosts tệp - Chứa các khóa công khai của tất cả các hệ thống từ xa mà bạn đã kết nối.
  3. Các cấu hình tệp cấu hình máy khách

Nếu cấu hình tệp không tồn tại, bạn có thể dễ dàng tạo một tệp như minh họa.



$ touch ~ / .ssh / config

Tệp cấu hình máy khách .ssh / config

Mỗi lần bạn bắt đầu kết nối SSH, bạn cần chỉ định các chi tiết như địa chỉ IP hoặc tên miền và cổng mà SSH đang lắng nghe. Ví dụ,

$ ssh [email được bảo vệ] -p 22

Có thể rất bận rộn khi phải luôn ghi nhớ những chi tiết như vậy. Và đây là nơi ~ / .ssh / config tệp đi kèm. ~ / .ssh / config tệp là tệp cấu hình cho phép bạn định cấu hình chi tiết cấu hình cho mỗi người dùng của máy chủ từ xa. Nó giúp bạn không phải lo lắng khi luôn phải nhớ lại các chi tiết cần thiết cho mỗi máy chủ để kết nối.

Một tệp cấu hình mẫu xuất hiện như được hiển thị.

Máy chủ dàn máy chủ
HostName 192.168.2.103
Người dùng james
Cổng 22

Một lệnh SSH đơn giản vào máy chủ từ xa sẽ trông như sau:

$ ssh staging-server

Quyền đối với tệp .ssh / config

Theo mặc định, ~ / .ssh / config tệp cấu hình máy khách sở hữu 644 quyền đối với tệp. Bạn có thể xác minh rằng bằng cách sử dụng ls -la lệnh như sau.

$ ls -la ~ / .ssh / config

Điều này ngụ ý rằng chủ sở hữu và nhóm của tệp đều có quyền đọc và ghi (rw) trong khi những người dùng khác chỉ có quyền đọc (r).

-rw-rw-r--

GHI CHÚ:

Theo nguyên tắc chung, không bao giờ chỉ định quyền ghi cho người dùng khác. Điều này gây ra rủi ro bảo mật cho tệp của bạn và những người dùng khác không phải là bạn hoặc trong nhóm của bạn có thể sửa đổi nội dung của tệp. Việc chỉ định quyền ghi sẽ dẫn đến kết quả là ‘ Chủ sở hữu hoặc quyền không hợp lệ Lỗi 'như được chỉ ra bên dưới.

Ở đây, tệp cấu hình đã được gán quyền 666. Điều này ngụ ý rằng mọi người đều có thể đọc và ghi tệp.

Tương tự, trường hợp tương tự cũng áp dụng ở đây khi tệp đã được gán 777 quyền. Điều này ngụ ý rằng mọi người đều có thể đọc, ghi và thực thi tệp. Nói một cách đơn giản, bất kỳ ai cũng có tất cả các quyền đối với tệp nguy hiểm tiềm tàng.

Phương pháp hay nhất khuyên bạn nên để các quyền mặc định tại 664 hoặc 600, trong đó chỉ chủ sở hữu mới có quyền đọc và ghi (rw). Bằng cách này, tệp vẫn an toàn không bị sửa đổi bởi những người dùng trái phép.

Ngoài ra, hãy đảm bảo rằng bạn sở hữu tệp. Nếu tệp được thay đổi thành người dùng khác, SSH sẽ không thể phân giải tên máy chủ được cung cấp trong tệp cấu hình.

Trong ví dụ dưới đây, ~ / .ssh / config quyền sở hữu đã được đặt thành bob: bob.

Để giải quyết vấn đề này, tôi đã hoàn nguyên về quyền sở hữu tệp ban đầu bằng cách sử dụng băm nhỏ chỉ huy.

$ sudo chown james: james ~ / .ssh / config

Với các quyền đối với tệp đã được hoàn nguyên, bây giờ tôi có thể có quyền truy cập bằng cách gọi lệnh SSH theo sau là tên máy chủ được chỉ định trong tệp cấu hình.

$ ssh staging-server

Và đó là tất cả những gì bạn cần biết về cách đặt quyền trên ~ / .ssh / config tập tin. Đảm bảo bạn không đặt quyền đọc cho những người dùng còn lại và đảm bảo rằng bạn sở hữu tệp.