Định cấu hình SSH để truy cập không cần mật khẩu

ssh

SSH, hoặc Secure Shell, là một vỏ an toàn được sử dụng cho truy cập từ xa từ tất cả các loại thiết bị đến máy chủ, thông qua một kênh có đường hầm và được bảo vệ bằng mã hóa, điều này mang lại cho kênh một sự bảo mật ngăn chặn hoặc ít nhất là gây khó khăn cho các bên thứ ba có thể chặn tên người dùng hoặc mật khẩu. Trong trường hợp của * Nix, chúng tôi có sẵn giao thức này thông qua OpenSSH, một tập hợp các giải pháp máy khách-máy chủ có sẵn trong tất cả các bản phân phối Linux và các nền tảng liên quan như * BSD.

Bây giờ, nếu SSH cung cấp cho chúng ta mức độ bảo mật tuyệt vời, tại sao chúng ta lại muốn sử dụng nó mà không cần nhập mật khẩu? Có thể có một số lý do, nhưng một lý do thường nổi bật với tư cách là trình tạo là nhu cầu đăng nhập từ xa thông qua các tập lệnh và thực hiện các tác vụ siêu người dùng, và chúng tôi cũng biết rằng không nên đưa dữ liệu đó vào bất kỳ tập lệnh nào. Để giải quyết vấn đề này, chúng ta sẽ xem cách tạo khóa SSH để có thể đăng nhập từ xa mà không cần mật khẩu.

Điều này đòi hỏi chúng tôi tạo khóa công khai và khóa riêng tư: cái đầu tiên sẽ được lưu trữ trên máy chủ mà chúng ta sẽ truy cập và như tên của nó cho biết chúng ta có thể gửi hoặc chia sẻ nó và cái thứ hai sẽ được lưu trữ trên thiết bị (máy tính, điện thoại thông minh, máy tính bảng) mà chúng ta sẽ truy cập máy chủ đã nói và phải giữ rất cẩn thận và chỉ được sử dụng bởi chúng tôi hoặc bởi những người chúng tôi tin tưởng.

Do những gì được đề cập trong đoạn trước, điều quan trọng cần nhận xét là loại giải pháp này đòi hỏi một trách nhiệm rất lớn trong việc chăm sóc các thiết bị mà từ đó chúng ta sẽ truy cập vào một máy chủ và đó là bất kỳ ai có quyền truy cập họ có thể nhập nó mà không cần biết mật khẩu, đây là một rủi ro bảo mật rất lớn. Sau khi làm rõ điều này, hãy xem cách chúng ta có thể bắt đầu và đối với điều này, điều đầu tiên là cài đặt daemon SSH trên máy chủ:

# apt-get cài đặt openssh-server

Bây giờ chúng ta phải tạo thư mục .ssh trong thư mục người dùng:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ TRANG CHỦ / .ssh

# chạm vào $ HOME / .ssh / allow_keys

Chúng tôi chỉnh sửa tệp / etc / ssh / sshd_config và chúng tôi xác minh rằng các dòng sau là như sau:

PubkeyAuthentication có

AuthorizedKeysFile% h / .ssh / allow_keys

Bây giờ chúng ta đi đến máy khách và thực thi:

ssh-keygen -t rsa

Chúng tôi sẽ được thông báo rằng khóa đang được tạo và chúng tôi sẽ được yêu cầu nhập tệp sẽ được lưu trữ trong đó (theo mặc định, nó sẽ nằm trong nhà của chúng tôi, trong một thư mục có tên /.ssh/id_rsa). Chúng tôi có thể nhấn Enter vì vị trí đó phục vụ chúng tôi một cách hoàn hảo và sau đó chúng tôi nhấn Enter một lần nữa vào hai lần chúng tôi được yêu cầu nhập một cụm mật khẩu Vì, hãy nhớ rằng, chúng tôi sẽ nhập từ xa mà không cần nhập bất kỳ dữ liệu nào nên chúng tôi cũng không muốn bất kỳ cụm từ nào.

Bây giờ chúng ta có khóa công khai, chúng ta phải chia sẻ nó với những máy tính mà chúng ta sẽ kết nối. Giả sử rằng máy chủ mà chúng ta đang nói đến có địa chỉ 192.168.1.100, những gì bạn phải làm là:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100

Sau khi sao chép, chúng tôi sẽ được mời thực hiện đăng nhập từ xa để kiểm tra các phímvà phải tính đến điều đó trong trường hợp này nguồn gốc Đó là tài khoản mà chúng ta sẽ truy cập vào máy chủ, vì vậy nếu chúng ta muốn làm điều đó với người dùng khác, chúng ta phải sửa đổi quyền root cho tài khoản người dùng mà chúng ta sẽ thực hiện truy cập qua SSH.

Bây giờ chúng ta chỉ phải khởi động lại máy chủ SSH để nó có cấu hình mới:

# /etc/init.d/ssh khởi động lại

Từ bây giờ, nếu chúng ta muốn truy cập vào máy chủ thứ hai và làm như vậy mà không cần nhập mật khẩu, chúng ta chỉ cần gửi cho nó khóa công khai, sau đó chúng ta chỉ cần lặp lại bước cuối cùng, thay đổi người dùng và địa chỉ IP nếu cần:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub admin@192.168.1.228


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   chất làm khô dijo

    Cảm ơn vì thông tin nhưng không có gì… không có cách nào….
    Tôi đã cố gắng cả buổi sáng và nó luôn hỏi mật khẩu của tôi.
    Một thời gian trước, tôi đã thử và tôi đã để nó như không thể với cùng một lý do….
    Tôi tạo khóa của mình trên Macbook của mình, sao chép nó vào mâm xôi của tôi trong ~ / .ssh / allowKeys
    Tôi định cấu hình sshd.conf với xác thực công khai và xác minh rằng thư mục của các khóa chính xác là nơi chứa các khóa. Tôi khởi động lại mâm xôi và khi kết nối nó sẽ hỏi tôi lại mật khẩu
    Điều gì có thể thất bại?

    1.    chất làm khô dijo

      Sau vài giờ thử nhiều thứ, tôi đã phát hiện ra rằng với người dùng do tôi tạo, nó không bao giờ hoạt động, nhưng với người dùng mặc định được gọi là "ubuntu", nó hoạt động ngay lần đầu tiên.
      Bất kỳ sự làm rõ nào về lý do tại sao điều này có thể xảy ra?
      Saludos y gracias