На данный момент игнорируя часть переадресации портов в вашем примере, вам нужно использовать параметр директив ProxyCommand или ProxyJump / -J . Из командной строки попробуйте это:
ssh -i cert.pem -J user@host1-ip user2@host2-ip
Поскольку -J и ProxyJump были добавлены в OpenSSH 7.3 (IIRC), вам может понадобиться использовать более старую директиву ProxyCommand в вашем файле ~/.ssh/config , особенно если ваш ssh на вашем Mac не обновлялся недавно. Кроме того, это позволяет вам указать другие параметры, такие как IdentityFile для размещения вашего файла PEM, например:
Host host1
User host1user
Hostname host1-ip
IdentityFile ~/.ssh/cert.pem
Host host2
User host2user
Hostname host2-ip
IdentityFile ~/.ssh/cert.pem
# hop through host1
ProxyJump host1
# or if older ssh-en, one of:
#ProxyCommand ssh -A host1 nc %h %p
#ProxyCommand ssh -A host1 -W %h:%p
С этим на месте, это должно быть так просто, как:
ssh host2
Чтобы добавить переадресацию вашего порта:
ssh host2 -L 9999:localhost:1234