Thêm người dùng không có mật khẩu nhưng với SSH và khóa chung


33

Tôi muốn thêm người dùng vào Red Hat Linux sẽ không sử dụng mật khẩu để đăng nhập mà thay vào đó sử dụng khóa chung cho ssh. Điều này sẽ được trên dòng lệnh.


useradd --password-vô hiệu hóa và adduser - vô hiệu hóa mật khẩu. Tôi đã xem xét các tùy chọn cho cả hai và không thấy vô hiệu hóa mật khẩu là một tùy chọn cho cả hai.
dùng119776

Bạn có biết làm thế nào để thiết lập một đăng nhập khóa ssh nói chung? Tôi nghĩ rằng tài khoản chỉ cần không bị khóa, điều đó có nghĩa là có một số mật khẩu đang hoạt động. Nó có thể là một số mật khẩu dài mà không ai thực sự biết.
Micah Yoder

Tôi có chìa khóa và biết rằng tôi cần tạo thư mục trong thư mục của người dùng và dán phần công khai ở đó. Tôi có thể thử theo cách đó, nhưng nghĩ rằng tôi cũng cần phải tắt mật khẩu người dùng.
dùng119776

Thay vì tạo một bài đăng khác chỉ cho bạn cách thêm người dùng, tôi đồng ý với Lambert. Bạn cần tập trung cụ thể vào phần nhiệm vụ này mà bạn đang gặp khó khăn. Nếu bạn không biết cách thêm người dùng, bạn nên bắt đầu nhỏ và tiếp tục phát triển. Tôi tin rằng bạn chỉ cần tạo người dùng, không đặt bất kỳ mật khẩu nào và đặt khóa của họ vào /home/username/.ssh/authorized_keys.
Baazigar

Câu trả lời:


37

Bắt đầu với việc tạo người dùng:

useradd -m -d /home/username -s /bin/bash username

Tạo một cặp khóa từ máy khách mà bạn sẽ sử dụng sshtừ:

ssh-keygen -t dsa

Sao chép khóa chung /home/username/.ssh/id_dsa.pubvào máy chủ RedHat vào/home/username/.ssh/authorized_keys

Đặt quyền chính xác cho các tệp trên máy chủ RedHat:

chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

Đảm bảo rằng xác thực Khóa công khai được bật trên máy chủ RedHat:

grep  PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes

Nếu không, thay đổi chỉ thị đó thành có và khởi động lại sshddịch vụ trên máy chủ RedHat.

Từ máy khách bắt đầu một sshkết nối:

ssh username@redhathost

Nó sẽ tự động tìm chìa khóa id_dsatrong ~/.ssh/. Bạn cũng có thể chỉ định một tệp nhận dạng bằng cách sử dụng:

ssh -i ~/.ssh/id_dsa username@redhathost

3
Thật ra tôi không quên khóa mật khẩu. Vì đơn giản là tôi không đặt mật khẩu cho người dùng mới tạo sẽ tự động bị khóa.
Lambert

3
sử dụng RSA thay vì DSA
sg

bạn nhận ra lệnh "ssh-keygen -t dsa" sẽ tạo khóa cho người dùng hiện tại, nó có thể thay thế các khóa của riêng bạn
yarun có thể vào

15

Trên Ubuntu, bạn có thể thêm người dùng bằng:

adduser --disabled-password <username>

Sau đó tạo .ssh/authorized_keystập tin trong thư mục nhà của họ với khóa công khai của họ.


7

Bạn đã có thể sử dụng:

usermod --lock <username>

Từ trang người đàn ông:

Khóa mật khẩu người dùng. Điều này đặt một '!' ở phía trước của mật khẩu được mã hóa, vô hiệu hóa mật khẩu một cách hiệu quả. Bạn không thể sử dụng tùy chọn này với -p hoặc -U. Lưu ý: nếu bạn muốn khóa tài khoản (không chỉ truy cập bằng mật khẩu), bạn cũng nên đặt EXPIRE_DATE thành 1.

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.