Chuyển tiếp đại lý SSH, nhiều bước nhảy


7

Tôi đã thử nghiệm thiết lập này với máy gốc Linux - mọi thứ đều giống nhau - chỉ bước nhảy đầu tiên có thể sử dụng các khóa từ máy gốc.

Vấn đề ban đầu

Tôi đang cố gắng thiết lập chuyển tiếp tác nhân SSH với nhiều bước nhảy. Máy cục bộ của tôi là Windows, với putty và pagete, tất cả các máy Linux là Debian 7.

Vấn đề là các khóa riêng của tôi, có nguồn gốc từ các cửa sổ, chỉ hoạt động trên bước nhảy đầu tiên. Khóa riêng được thêm vào trên bất kỳ máy đầu tiên hoạt động ở mọi nơi.

Máy hop đầu tiên được gọi là 'vpn1', thứ hai 'www1'. 'vpn1' được kết nối với internet và với mạng nội bộ (10.1.0.1). 'www1' chỉ được kết nối với mạng nội bộ (10.1.0.10). 'vpn1' thêm khóa (enbyted@vpn1.enbyted.org) bằng cách sử dụng 'ssh-add', khóa này hiển thị trong cuộc thi.

Gỡ lỗi

Tôi thấy cả 3 phím trong ssh-add -L:

ssh-rsa [pubkey-1] git@home.enbyted.org //This is github key originating from Windows
ssh-rsa [pubkey-2] enbyted@home.robotronika.pl //This is SSH key originating from Windows
ssh-rsa [pubkey-3] enbyted@vpn1.enbyted.org //This is SSH key originating from 'vpn1'

Khi tôi cố gắng ssh -v -T git@github.comtừ 'vpn1'

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: git@home.enbyted.org
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: Authentication succeeded (publickey).

Khi tôi cố gắng ssh -v -T git@github.comtừ 'www1'

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: git@home.enbyted.org
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: enbyted@home.robotronika.pl
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: enbyted@vpn1.enbyted.org
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /home/enbyted/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/enbyted/.ssh/id_dsa
debug1: Trying private key: /home/enbyted/.ssh/id_ecdsa
debug1: Next authentication method: password

Điều tương tự cũng xảy ra với ssh đối với các máy chủ chỉ chấp nhận khóa 'enbyted@home.robotronika.pl'. Nhưng tôi có thể SSH với nhiều bước nhảy như tôi muốn với 'enbyted@vpn1.enbyted.org'. Tất nhiên, các lệnh git cũng vậy.

Cấu hình

Của tôi ~/.ssh/config(giống nhau trên tất cả các máy chủ):

Host 10.1.0.*
    ForwardAgent yes

Host *
    ForwardAgent no

Của tôi /etc/ssh/sshd_config(không có ý kiến, giống nhau trên tất cả các máy chủ):

Port <custom-port>
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes

Câu hỏi

  • Vậy, tại sao vậy?
  • Tôi đang làm gì sai?

Ngoài ra, điều này thực sự kỳ lạ, trên 'www1' github cung cấp hai phương thức xác thực - mật khẩu và khóa công khai ... Tôi chắc chắn rằng 'www1' SSH đến github.com đang kết nối với cùng một máy chủ là 'vpn1'.

Cập nhật # 1: thiết lập mạng trên hình ảnh

Xin lưu ý, hình ảnh đó là từ bài viết , nhưng khá nhiều cho thấy thiết lập của tôi.

           Hình ảnh thiết lập mạng

Vì vậy, tôi có 2 phím trên PC ở nhà và một phím trên ruapehu (vpn1).

Khi tôi SSH đến ruapehu từ PC ở nhà, tôi có thể sử dụng cả ba phím. Nhưng khi tôi thực hiện một ssh khác từ ruapehu (vpn1) đến aoraki (www1) tôi chỉ có thể sử dụng khóa từ ruapehu.

Và khi tôi ssh từ aoraki (www1) đến bất kỳ máy chủ nào bên dưới với bất kỳ số bước nhảy nào chỉ có khóa từ ruapehu hoạt động.

Không có gì nếu PC ở nhà là Windows với Putty + pagete hoặc Linux với ssh-agent.


Có thể cố gắng thu hẹp nó bằng cách loại bỏ các cửa sổ như bước nhảy đầu tiên nếu có thể. Sử dụng Linux cho mỗi bước nhảy để xem nó có hoạt động như mong đợi không.
mkc

@Ketan Mọi thứ hoạt động trên bước nhảy đầu tiên (và máy cục bộ). Ở bước nhảy thứ hai mặc dù tôi không thể sử dụng các khóa có nguồn gốc từ máy cục bộ (Windows).
Bắt đầu

@slm Tôi không nói điều đó trong OP. vpn1 và www1 thuộc lớp 10.1.0.0/24. Nhưng tôi đã thử nó và nó không giúp được gì.
Bắt đầu

@Enbyted Có thể máy Windows không thực hiện bắt tay ssh đúng cách? Một cách để kiểm tra đó là sử dụng Linux làm máy đầu tiên.
mkc

@Ketan về mặt kỹ thuật là có thể, tôi sử dụng Putty và Pagete. Khóa được thêm bởi 'vpn1' có thể nhìn thấy trong cuộc thi. Hiện tại tôi không có máy linux, nhưng tôi sẽ kiểm tra nó càng sớm càng tốt.
Bắt đầu từ

Câu trả lời:


1

Tôi nghĩ vấn đề của bạn nằm ở cấu hình của PuTTY. Cài đặt chuyển tiếp này cần phải được kiểm tra như vậy:

                     ss của hộp thoại

Người giới thiệu


Cảm ơn đã trả lời, nhưng tôi đã kiểm tra nó. Như tôi đã nói trong OP - Tôi có thể sử dụng các khóa riêng của Windows trên bước nhảy đầu tiên, nhưng không phải vào lần thứ hai, thứ ba, ...
Bắt đầu từ
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.