Làm thế nào để đăng nhập ssh đúng người dùng?


8

Tôi sử dụng ssh trên nhiều loại máy, chủ yếu là linux. Các tài khoản trên các máy này khác nhau trong sơ đồ đặt tên: nếu tên của tôi là Đầu tiên, thì tôi có các tài khoản: đầu tiên, flast, last_f, lastf và đôi khi tôi cần đăng nhập bằng root. Đối với mỗi máy tôi sử dụng, tôi muốn máy khách openssh biết nên sử dụng tài khoản nào khi tôi không chỉ định trên dòng lệnh.

Vì vậy, câu hỏi là: Làm thế nào để tôi thực hiện ssh serverDo The Right Thing khi tên người dùng không được chỉ định?

Câu trả lời:


18

Bạn có thể tạo một configtệp trong thư mục chính của mình .ssh, có thể chỉ định người dùng mặc định, tệp nhận dạng, v.v. và gán nó cho bí danh mà bạn có thể sử dụng để kết nối.

Ví dụ: bạn có thể đặt cái này vào ~/.ssh/configtệp:

Host example
    HostName example.com
    User first_last
    IdentityFile ~/.ssh/example_rsa
    Port 22
    RSAAuthentication yes
    PubkeyAuthentication yes

Host example2
    HostName example2.com
    User last_first
    # other parameters as needed

Sau đó, bạn có thể chỉ cần gõ ssh examplehoặc ssh example2trên dòng lệnh để kết nối.

Vì vậy, bạn có thể thiết lập một cho mỗi máy bạn muốn kết nối với người dùng có liên quan. Sau đó, chỉ cần sử dụng các bí danh để kết nối mà không phải chỉ định người dùng. Bạn cũng có thể sử dụng một mẫu để khớp với nhiều máy chủ.

Có thêm thông tin và chi tiết về những gì bạn có thể chỉ định trong tệp cấu hình trong trang man ssh_config .


3
Hoàn toàn có thể, bạn có thể chỉ định bao nhiêu tùy ý trong cùng một tệp .config. Tôi có hơn 20 trong tôi không có vấn đề. Tôi chỉ chừa một khoảng trống giữa mỗi Máy chủ riêng biệt, có thể không bắt buộc, nhưng làm cho nó dễ đọc hơn.
Rich Adams

1
Nó không phải là configtập tin? Không có dấu chấm ở đầu?
danadam

1
@rich đã cố gắng để bạn hiển thị một trang web khác trong ví dụ của bạn; hy vọng bạn không phiền tôi đi trước và ném nó vào.
quack quixote

4
Việc thụt lề mọi thứ trừ các dòng có chứa "Host foo" giúp ích rất nhiều cho việc bảo trì.
innaM

1
@CristianCiupitu: Coi là một câu hỏi của Linux, tôi hầu như không gọi trang con người của OpenBSD là trang chính thức. Có các tùy chọn trong ssh của Linux (ví dụ: GSSAPIKeyExchange ) không có sẵn trong phiên bản BSD.
Dennis

1

Theo câu trả lời của Rich Adam, tôi đã tìm ra PuTTY nơi nó lưu các cài đặt của nó.

Tất cả được lưu trữ trong cây đăng ký, bạn sẽ tìm thấy nó bên dưới HKEY_CURRENT_USER\Software\SimonTatham(Simon Tatham là nhà phát triển của PuTTY).
Ở đó bạn có thể thấy một máy chủ được xác định như thế nào.


1

Nếu bạn muốn thay đổi nó cho MỌI trang web:

Chỉnh sửa của bạn ~/.ssh/configđể có điều này:

Host *
    User buck
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.