Làm thế nào nhiều khóa riêng có thể được sử dụng với ssh?


58

Tôi đã có thể thiết lập ssh để sử dụng xác thực khóa riêng / công khai. Bây giờ tôi có thể làm

ssh user@server1

Và nó đăng nhập bằng khóa riêng. Bây giờ tôi muốn kết nối với một máy chủ khác và sử dụng một khóa khác. Làm thế nào để thiết lập nó như vậy

ssh user@server1

sử dụng private1

ssh user@server2

và sử dụng privatekey2


7
Không có lý do thực sự - đó là một hộp thoại cá nhân và cái còn lại là một máy chủ công việc và tôi không muốn sử dụng chìa khóa nhà của mình tại nơi làm việc.
Joshua

không có câu trả lời nào có vẻ trả lời đầy đủ câu hỏi, ví dụ: cách tạo các khóa khác nhau privatekey1 và privatekey2
jpwynn

Câu trả lời:


49

Có một vài tùy chọn.

  1. Tải cả hai khóa vào đại lý ssh của bạn bằng cách sử dụng ssh-add. Sau đó, cả hai khóa sẽ có sẵn khi kết nối với cả hai máy chủ

  2. Tạo $HOME/.ssh/configtập tin của bạn và tạo một Hostphần cho server1 và một phần khác cho server2. Trong mỗi Hostphần, thêm một IdentityFiletùy chọn trỏ đến tệp khóa riêng phù hợp


2
Tác nhân ssh là một ý tưởng tuyệt vời, ngoài ra nếu tôi có cả tệp khóa công khai và riêng tư, ví dụ như key1 và key1.pub, trong ~ / .ssh, nó sẽ tự động tải chúng.
Joshua

57

Bạn có thể thiết lập điều này trong ~/.ssh/configtập tin của bạn . Bạn sẽ có một cái gì đó như thế này:

Host server1
IdentityFile ~/.ssh/key_file1

Host server2
IdentityFile ~/.ssh/key_file2

man ssh_config là một tài liệu tham khảo


4
Bạn cũng có thể chỉ định Usercho mỗi máy chủ để cắt giảm các nét chính. Cuối cùng, khi bạn tạo khóa SSH mới cho mỗi máy chủ, ssh-keygenhãy đảm bảo bạn thực sự nhập một đường dẫn khóa thay thế.
Marco Ceppi

Có một tùy chọn để chỉ định một khóa mặc định, như nói host x ->key1và sau đó là phần còn lại của máy chủkey2
azerafati

Có, sử dụng sh Host * Và thêm các mặc định, hơn ghi đè van được thêm vào bên dưới. Ngoài ra: sh man_ssh_config Cụ thể là phần trong phần "Máy chủ" liên quan đến dấu hoa thị '*' & dấu chấm than '!'
immeëmosol
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.