Tôi đang cố gắng tạo khóa ssh cho người dùng khác. Tôi đang đăng nhập với quyền root. Tôi có thể chỉnh sửa các tệp được tạo bởi ssh-keygen và thay đổi root cho người dùng tôi muốn không?
Tôi đang cố gắng tạo khóa ssh cho người dùng khác. Tôi đang đăng nhập với quyền root. Tôi có thể chỉnh sửa các tệp được tạo bởi ssh-keygen và thay đổi root cho người dùng tôi muốn không?
Câu trả lời:
ssh-keygen
Tuy nhiên, bạn có thể làm điều đó với khóa riêng tư có nghĩa là riêng tư đối với người dùng, vì vậy bạn nên cẩn thận để giữ an toàn - an toàn như mật khẩu của người dùng. Hoặc thậm chí an toàn hơn, vì người dùng không có khả năng được yêu cầu thay đổi nó khi đăng nhập lần đầu.
ssh-keygen -f anything
tạo hai tập tin trong thư mục hiện tại. anything.pub
là khóa chung mà bạn có thể thêm vào người dùng ~/.ssh/authorized_keys
trên bất kỳ máy chủ đích nào.
Các tập tin khác, chỉ được gọi anything
là khóa riêng và do đó nên được lưu trữ an toàn cho người dùng. Vị trí mặc định sẽ là ~username/.ssh/id_rsa
(ở đây có tên id_rsa
, được mặc định cho các khóa rsa). Hãy nhớ rằng .ssh
thư mục không thể được đọc hoặc ghi bởi bất kỳ ai trừ người dùng và thư mục chính của người dùng có thể được ghi bởi bất kỳ ai trừ người dùng. Tương tự, các quyền cũng phải được khóa chặt chẽ trên khóa riêng: Đọc / ghi chỉ cho người dùng và thư mục .ssh và keyfile phải được sở hữu bởi người dùng.
Về mặt kỹ thuật bạn có thể lưu trữ chìa khóa ở bất cứ đâu. Với ssh -i path/to/privatekey
bạn có thể chỉ định vị trí đó, trong khi kết nối. Một lần nữa, quyền sở hữu và quyền thích hợp là rất quan trọng và ssh sẽ không hoạt động nếu bạn không có quyền.
ssh -i
đến một khóa riêng cho một quy trình không có đặc quyền là cách tôi xử lý nhiều hơn một vài quy trình sao lưu rsync tự động. :)
users
hoặcuser's
Không có thông tin người dùng trong các khóa SSH .
Trường cuối cùng trong khóa chung là một nhận xét (và có thể được thay đổi bằng cách chạy lệnh sau ssh-keygen -C newcomment
).
Không cần phải làm gì đặc biệt để tạo khóa cho người dùng khác, chỉ cần đặt nó vào đúng vị trí và đặt quyền.
Trở thành người dùng bằng cách sử dụng su và chạy khóa như người dùng đó:
[root@kvm0001 ~]# su - joeuser
[joeuser@kvm0001 ~]$ ssh-keygen -t dsa (or rsa1 or rsa, depending on your security requirements)
Generating public/private dsa key pair.
Enter file in which to save the key (/home/joeuser/.ssh/id_dsa):
joeuser
là một người sử dụng dịch vụ, do đó tôi không thể đăng nhập như họ. Làm cách nào để tôi cho phép người dùng dịch vụ (chỉ chạy các tiến trình) có khóa ssh?