SSH với bí danh người dùng?


10

Câu hỏi này không phải là một bản sao. Xin vui lòng đọc nó trước khi bạn đánh dấu nó như vậy.

Có thể gán biệt hiệu hoặc bí danh cho người dùng trên máy chủ Linux và SSH vào máy chủ bằng các biệt danh không? Tôi đang suy nghĩ điều gì đó dọc theo các bí danh cho các lệnh khác nhau được thêm vào .bashrchoặc .bash_aliasestệp, ví dụ:

alias grep='grep --color=auto'

Ví dụ: nếu có một yêu cầu (quy tắc kinh doanh) để thiết lập người dùng trên máy chủ với tên đầy đủ của họ, ví dụ: john_smiththay vì chỉ tên của họ ( john) nhưng chúng tôi muốn đặt biệt danh john_smith fruitloopsvà chúng tôi muốn John có thể:

ssh john_smith@ip_address

cũng như:

ssh fruitloops@ip_address

Nếu có thể, ánh xạ giữa người dùng và biệt danh của họ sẽ được thiết lập ở đâu? Người dùng fruitloopscũng cần phải tồn tại trên sever?

Câu hỏi này là về việc thiết lập bí danh cho người dùng, không phải máy chủ lưu trữ .


1
Với bí danh máy chủ bạn có thể làmssh fruitloop
Takkat

Câu hỏi của tôi là về việc thiết lập bí danh cho người dùng, không phải máy chủ lưu trữ. fruitloopsđề cập đến người dùng john_smith, không phải địa chỉ IP.
dw8547

1
Tôi tin rằng đây không phải là những câu hỏi giống nhau ... +1 cho câu hỏi;)
Ravexina

1
Xin lỗi vì sự hiểu lầm của tôi - một bí danh máy chủ SSH sẽ phải được thiết lập trên máy khách nhưng điều bạn cần là một giải pháp được thiết lập trên máy chủ . Rút lại phiếu bầu gần của tôi.
Takkat

1
Tôi nghĩ điều này là có thể với một số thủ thuật PAM (nếu bạn đang sử dụng PAM). Tôi có thể tìm thấy một số mã cũ dọc theo các dòng này (nếu tôi sẽ đăng như một câu trả lời).
Sumudu Fernando

Câu trả lời:


14

Mỗi người dùng trong linux chỉ có một tên và đó là tên duy nhất của anh ta. bạn có thể tạo bí danh cho các lệnh không dành cho người dùng.

Nhưng bạn có thể tạo người dùng thứ hai với cùng UID, thư mục chính và mật khẩu sẽ thực hiện thủ thuật cho bạn.


Vì vậy, /etc/passwdcác mục của tôi tương ứng với những người dùng này sẽ như thế nào: john_smith:x:1001:1001:,,,:/home/john_smith:/bin/bashfruitloops:x:1001:1001:,,,:/home/john_smith:/bin/bash?
dw8547

2
Tôi cố gắng 3 phương pháp khác nhau sau khi thêm người dùng john_smithvới UID = 1001. 1) adduser --home /home/john_smith --uid 1001 fruitloops , điều này không hoạt động ( adduserthất bại vì đã sử dụng userid) 2) useradd --home /home/john_smith --non-unique --uid 1001 fruitloops , điều này đã hoạt động nhưng dẫn đến một số hành vi không mong muốn 3) Cuối cùng tôi đã thêm dòng fruitloops:x:1001:1001:,,,:/home/john_smith:/bin/bashtrực tiếp vào /etc/passwdtệp và đây là gần nhất với những gì tôi đã theo sau . Tôi SSH vào ip_addressnhư fruitloopsđất ở /home/john_smithkhi đến nơi.
dw8547

1
Tôi sẽ ngụy biện với từ ngữ của bạn ở đây. Trong kịch bản của bạn, bạn đã tạo một người dùng (1001) với hai tên đăng nhập khác nhau. Bạn đã không làm điều đó ở đây, nhưng không có lý do gì hai tên không thể có thư mục nhà và vỏ đăng nhập khác nhau. Đăng nhập như "fruitloops" và tạo một tập tin. Bây giờ hãy kiểm tra thư mục và bạn sẽ thấy john_smith được hiển thị là chủ sở hữu của tệp, bởi vì đó là tên đầu tiên được tìm thấy trong / etc / passwd cho uid 1001. Chúng ta có thể tranh luận về việc john_smith là tên và fruitloops là bí danh hay john_smith là tên chính và trái cây thứ cấp, nhưng đó là ngữ nghĩa.
Monty Harder

2
"Bạn có thể tạo người dùng thứ hai có cùng UID, thư mục chính và mật khẩu" - nghe có vẻ như một vụ hack khủng khiếp không được đảm bảo để hoạt động trên các triển khai tuân thủ POSIX khác nhau. POSIX yêu cầu mối quan hệ giữa tên người dùng và ID người dùng phải khác biệt hai chiều.
David Foerster

@ dw8547 Bạn có thể giải thích thêm một chút về hành vi không mong muốn từ lệnh useradd không?
Monty Harder

0

Tôi chưa thử điều này nhưng một tùy chọn khác ngoài hai người dùng được ánh xạ tới một UID duy nhất (IMO có vẻ nguy hiểm nhưng tùy chọn này có thể nguy hiểm không kém) là có một người dùng đóng vai trò chuyển hướng dựa trên khóa SSH. Đây là cách các kho kiểm soát nguồn sử dụng SSH thường hoạt động.

Hãy gọi cho người dùng me. Mọi người sẽ sử dụng bí danh này.

ssh me@ip_address

Bây giờ người dùng mecó tất cả các khóa công khai của người dùng ~/.ssh/authorized_keys.

command="sudo -i -u user-mapped-to-key" ssh-rsa key

Bạn sẽ cần phải làm cho người dùng mecó khả năng sudo như những người dùng khác và bạn sẽ cần phải quản lý metệp khóa được ủy quyền.

Dù sao tôi đã không kiểm tra điều này nhưng trên lý thuyết một cái gì đó như thế này sẽ hoạt động.

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.