Làm thế nào để ssh đến một máy chủ sử dụng máy chủ khác có khóa từ máy chủ thứ hai?


7

Cách cấu hình ssh để bắt chước điều này:

ssh server1-user-name@server1.net -i /path/to/.ssh/server-1-ssh-key -t ssh server2-user-name@10.0.0.10 -i /home/server1-user-name/.ssh/server2-ssh-key

Khi tôi thực thi

ssh server2

Giải trình:

  • Tôi đang đăng nhập vào server1.net bằng một khóa từ máy cục bộ của tôi ( /path/to/.ssh/server-1-ssh-key)

    ssh server1-user-name@server1.net -i /path/to/.ssh/server-1-ssh-key
    
  • sau đó tôi đăng nhập vào một máy chủ có IP 10.0.0.10 sau đây. Để làm điều này, tôi sử dụng khóa ( /home/server1-user-name/.ssh/server2-ssh-key), được lưu trữ trên máy chủ-1

Cấu hình ssh trông như thế nào đối với trường hợp này trên máy cục bộ của tôi?

Tôi đã thử cấu hình sau:

Host server2
  Hostname 10.0.0.10
  User server2-user-name
  ForwardAgent yes
  ProxyCommand ssh -i /path/to/.ssh/server-1-ssh-key -W %h:%p

Nhưng nó không hoạt động.

Câu trả lời:


6

Vì vậy, về cơ bản, bạn muốn server1 hoạt động như jumpbox của mình, vì vậy bạn cần một khổ cho server1:

Host server1
Hostname server1.net
User server1-user-name
IdentityFile /path/to/.ssh/server-1-ssh-key

Sau đó, bạn cần một khổ thơ cho máy chủ 2 nhảy qua cái này:

Host server2
Hostname 10.0.0.10
User server2-user-name
ForwardAgent yes
ProxyCommand ssh server1 nc %h %p 2> /dev/null
IdentityFile /home/server1-user-name/.ssh/server2-ssh-key

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.