Kartopunun cevabı çok yardımcı oldu. Ancak, komutta bazı değişiklikler yaptım ve nasıl çalıştığını açıklamak istedim. Bu durum göz önüne alındığında:
ssh ssh
A -------> B -------> C
^ ^
using A's using B's
ssh key ssh key
~/.ssh/configDosyanızı değiştirin ve Biçinden geçmek istediğiniz ana bilgisayarı ekleyin , tıpkı normalde bir ana bilgisayarı nasıl yapılandırdığınızı:
Host B
User myusername
HostName b.mycompany.com
Ardından C, sonlandırmak istediğiniz ana bilgisayarı ekleyin :
Host C
User myusername
HostName c.intranet.mycompany.com
ProxyCommand ssh -T -q -o 'ForwardAgent yes' B 'ssh-add -t 1 && nc %h %p'
Şunlara dikkat edin ProxyCommand:
ssh -T -qbir sözde TTY ( -T) tahsis etmemesi ve sessiz kalması gerektiğini belirtir -q;
- bir kez atlama ana bilgisayarda
B, biz SSH anahtarlarına anahtarı eklemek Athrough ssh-add;
- sadece SSH aracısını kullanarak yönlendirdiğimiz için çalışıyor
-o 'ForwardAgent yes'.
ssh-add -t 1 anahtarın yalnızca son ana C'ye kimlik doğrulaması için gereken 1 saniye boyunca eklenmesini istediğimi belirtir;
- ve son olarak,
nc %h %pbir başlatır netcatnihai ana bilgisayara bağlantı %hlimanında %p(bilgilere dayanarak SSH tarafından doldurulacaktır hangi ikisi ~/.ssh/configdosyası).
Kullanmak için özel bir anahtar belirtmeniz gerekiyorsa B, ssh-addparçayı değiştirerek bunu yapabilirsiniz :
Host C
User myusername
HostName c.intranet.mycompany.com
ProxyCommand ssh -T -q -o 'ForwardAgent yes' B 'ssh-add -t 1 ~/.ssh/mykey && nc %h %p'