sao chép khóa riêng ssh sang máy tính khác


52

Tôi cần sử dụng máy tính khác để truy cập máy chủ ssh của mình. Điều này là do một vpn được triển khai gần đây tại trường đại học của tôi không hoạt động trên máy tính hiện tại của tôi và tôi đã mất quyền truy cập vào máy chủ.

Tôi ssh thông qua các khóa ssh được mã hóa. Tôi có thể sao chép các khóa này vào máy tính mới không (vpn hoạt động trên đó). Tôi đã thử sao chép id_rsaid_rsa.pubcác tập tin trong ~/.sshthư mục nhưng nó không nhận ra các khóa và không có lời nhắc nhập mật khẩu để giải mã các khóa.

EDIT: Tôi không thể truy cập máy chủ để tạo cặp khóa mới cho máy tính mới và ở ngoài nước nên không thể truy cập vật lý.

Cảm ơn.


Là " id_rsh" một lỗi đánh máy?
ændrük

1
Bạn có thể tìm hiểu thêm về vấn đề bằng cách thử ssh -v -i ~/.ssh/id_rsa ssh-server.
ændrük

đã thử nó Nó dường như gửi các khóa nhưng không bao giờ yêu cầu mật khẩu để giải mã chúng. Tôi cũng nhận được một thông báo chung lạ "Chuyển vùng không được máy chủ cho phép". Đoán khóa riêng chỉ là không được sao chép;). Có vẻ như tôi sẽ phải tin tưởng ai đó có quyền truy cập vật lý để đăng nhập thủ công vào máy chủ của mình và thay đổi cài đặt ssh. Cảm ơn bạn đã giúp đỡ.
benj

Khóa riêng không bao giờ nên được sao chép! ĐÂY LÀ RỦI RO AN NINH. Tạo khóa mới cho mọi thiết bị mới !!!!
Ether

Câu trả lời:


66

Kiểm tra quyền và quyền sở hữu tệp khóa riêng của bạn. Từ hướng dẫn ,

Những tệp này chứa dữ liệu nhạy cảm và người dùng có thể đọc được nhưng người khác không thể truy cập được (đọc / ghi / thực thi). ssh đơn giản sẽ bỏ qua một tệp khóa riêng nếu người khác có thể truy cập được.

Thông thường các tệp chính sẽ trông như thế này,

$ ls -l ~/.ssh/id_rsa*
-rw------- 1 benj benj 1766 Jun 22  2011 .ssh/id_rsa
-rw-r--r-- 1 benj benj  388 Jun 22  2011 .ssh/id_rsa.pub

mà bạn có thể thực thi thông qua:

$ chown benj:benj ~/.ssh/id_rsa*
$ chmod 600 ~/.ssh/id_rsa
$ chmod 644 ~/.ssh/id_rsa.pub

2
cảm ơn. Điều đó hữu ích để biết. Khi bạn sao chép một tập tin vào một máy tính khác, các quyền dường như thay đổi đối với người dùng đó. Tôi đã chạy các kịch bản chmod và chown trong trường hợp. Thật không may, nó không giúp ích gì cho vấn đề của tôi.
benj

@ John ツ đây có thể là một phần của vấn đề đối với tôi nhưng dường như có những vấn đề khác. Cuối cùng tôi đã có ai đó đăng nhập vật lý vào máy chủ và thiết lập một khóa mới. Nhưng sẽ chấp nhận điều này vì nó có thể bao gồm một vấn đề quan trọng.
benj

Nó làm việc cho tôi, @benj.
Sinthia V

14

Hãy thử chạy ssh-addtrước khi bạn SSH vào máy chủ - sau đó bạn sẽ được nhắc nhập mật khẩu và sau đó các sshkết nối tiếp theo có thể sử dụng khóa riêng của bạn.

Các ssh-addlệnh bổ sung thêm những chìa khóa để các đại lý chủ chốt.


1
Tôi không nghĩ đây là vấn đề, vì 1) máy khách SSH có thể đối phó mà không cần tác nhân khóa chức năng, 2) máy chủ sẽ không phản hồi với thông báo "chuyển vùng không được phép" và 3) máy khách ssh sẽ có riêng thông báo lỗi khi nói chuyện với tác nhân chính bị lỗi theo một cách nào đó. Tôi đã suy nghĩ về nó một câu trả lời .
gertvdijk

Điều này đã khắc phục vấn đề cho tôi. Cũng xem tài liệu Github cho điều này .
Ionică Bizău

8

Phím tin được mã hóa khóa công khai tổ chức tương ứng của họ không được mã hóa . Đây là cách máy khách SSH có thể kết nối với máy chủ từ xa mà không hỏi bạn mật khẩu (nó chỉ cung cấp phần công khai tại thời điểm đó). Bất cứ khi nào máy chủ chấp nhận khóa chung, máy khách trên PC của bạn muốn giải mã khóa riêng và sẽ yêu cầu bạn nhập cụm mật khẩu.

Bây giờ, bất cứ khi nào máy chủ chỉ chấp nhận kết nối từ một địa chỉ IP cụ thể, điều này đã bị từ chối ngay trong bước đầu tiên và giải thích thông báo bạn nhận được từ máy chủ "Chuyển vùng không được máy chủ cho phép".

Vì vậy, dự đoán tốt nhất của tôi là máy chủ của bạn bị hạn chế theo một cách nào đó chỉ cho phép các địa chỉ IP cụ thể cho khóa này. Bạn có thể làm điều này theo nhiều cách, nhưng đây là một cách phổ biến trong ~/.ssh/authorized_keys:

from="192.168.1.2" ssh-rsa AAAAB3NzaC[...]

Để chứng minh rằng bạn có thể đọc khóa chung từ khóa riêng được mã hóa mà không cần mật khẩu, hãy chạy:

ssh-keygen -y -f /path/to/private/key

1
Đây là một quy trình hữu ích tốt để có câu trả lời khi bạn gặp vấn đề với kết nối SSH. Cảm ơn bạn.
Sinthia V
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.