Sử dụng khóa của máy tính mà tôi đã kết nối qua SSH?


1

Tôi hiện có một hệ thống trong đó tôi đang sử dụng máy tính để bàn để kết nối với một cổng và sau đó đến nhiều máy chủ từ đó. Khóa ssh của máy tính để bàn của tôi nằm ở cổng và các máy chủ khác và tôi đang chạy các tập lệnh từ máy tính để bàn sử dụng kết nối đó, có các thứ như

ssh -A $GATEWAY "ssh $SERVER \"./myscript $OPTIONS\""

Vấn đề là, khi tôi kết nối từ máy tính ở nhà với máy tính để bàn chính và sử dụng cùng một tập lệnh, nó sẽ thử sử dụng phím ssh của máy tính ở nhà ngay cả khi tôi không sử dụng -A khi kết nối với máy tính để bàn. Có cách nào để chỉ định khóa ssh nào sẽ được sử dụng khi thực hiện kết nối không?

Tôi đã thử làm

ssh -i ~/.ssh/id_rsa -A $GATEWAY "ssh $SERVER \"./myscript $OPTIONS\""

nhưng nó vẫn không hoạt động. Tôi không kết nối với máy chính với -A, tôi chỉ đang làm ssh -i .ssh/loac_id_rsa user@main.

Câu trả lời:


1

Điều đó thật kỳ quái. Bạn có thể có một cái gì đó trong tập tin .ssh / config không?

Hãy thử thực hiện

ssh-add ~/.ssh/id_rsa

khi đến máy tính để bàn của bạn

CHỈNH SỬA:

Và nếu nó không thử eval ssh-agent -s Đầu tiên.

Kể từ khi làm việc:

-A có nghĩa là "kết nối với tác nhân auth". Cổng của bạn chắc chắn cần tác nhân xác thực để chạy trên máy tính để bàn của bạn để chuyển tiếp kết nối của bạn đến máy chủ được bảo vệ. Tác nhân xác thực có thể được khởi chạy tự động khi bạn đăng nhập trên máy tính để bàn bằng giao diện đồ họa của bạn, nhưng rõ ràng khi bạn đăng nhập bằng ssh, nó không hoạt động như bạn muốn (nó chỉ lấy khóa nhà của bạn và ssh-add không hoạt động ). Vì vậy, bạn khởi chạy một cái mới và kết nối với nó, thêm khóa của bạn và nó hoạt động.

Bạn có thể đơn giản hóa một chút và thay thế

home$ ssh -i .ssh/loac_id_rsa user@main
desk$ eval `ssh-agent -s`
desk$ ssh-add ~/.ssh/id_rsa
desk$ ssh -A $GATEWAY "ssh $SERVER \"./myscript $OPTIONS\""

với

home$ ssh -i .ssh/loac_id_rsa user@main ssh-agent bash
desk$ ssh-add ~/.ssh/id_rsa
desk$ ssh -A $GATEWAY "ssh $SERVER \"./myscript $OPTIONS\""

hoặc nếu bạn sẽ làm điều này thường xuyên, bạn có thể chơi xung quanh với nội dung của ~/.ssh/rc (hãy cẩn thận vì nếu bạn phá vỡ thứ gì đó có thể bạn sẽ không thể đăng nhập qua ssh, bạn sẽ phải sửa chữa bằng cách đăng nhập vào bảng điều khiển).


Cảm ơn. ssh-add ban đầu không làm việc, nhưng tôi đã làm eval `ssh-agent -s` và bây giờ nó đang hoạt động.
user3599969
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.