Мне нужно создать туннель SSH для подключения сервера развертывания к VPN:
DeploymentServer --> Gateway --> PrivateServer
На каждой машине, использующей ключ, я пробовал следующую команду:
myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP
А затем в другом окне терминала:
myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@SERVER_PRIVATE_IP
Но не работает, выдает ошибку тайм-аута. Мой порт 1122 открыт, и я могу использовать его по SSH. Я не понимаю, что делаю неправильно, мой синтаксис правильный?
Это мой первый туннель, не смейтесь надо мной!
ИЗМЕНИТЬ 1
я добавил -v
и исправил второй вызов SSH.
Первый звонок: myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP -v
Отклик: debug1: Authentication succeeded (publickey).
Второй звонок: myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@localhost -v
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to localhost [::1] port 1122.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file .ssh/wamapi_staging.pem type -1
debug1: identity file .ssh/wamapi_staging.pem-cert type -1
ssh_exchange_identification: Connection closed by remote host
И снова в первой вкладке:
debug1: Connection to port 1122 forwarding to ubuntu@10.0.5.128 port 22 requested.
debug1: channel 2: new [direct-tcpip]
channel 2: open failed: administratively prohibited: open failed
debug1: channel 2: free: direct-tcpip: listening port 1122 for ubuntu@10.0.5.128 port 22, connect from ::1 port 60341, nchannels 3
Я заставил его работать, используя файл .ssh / config вместо того, чтобы пытаться поместить все мои параметры в свои команды. Вот результаты, если кому-то это нужно:
Host the-gateway
Hostname GATEWAY_IP
Port 22
User ubuntu
IdentityFile ~/.ssh/keys/GATEWAY_KEY.pem
Host the-tunnel
Hostname localhost
Port 1122
User ubuntu
IdentityFile ~/.ssh/keys/PRIVATE_SERVER_KEY.pem
А затем 2 команды:
ssh -N -L 1122:SERVER_PRIVATE_IP:22 the-gateway
ssh the-tunnel
Таким образом, SSH может использовать мои ключи pem.
Если я правильно понял ваш вопрос, и вы хотите использовать ssh для "PrivateServer", тогда ваш второй вызов ssh должен быть:
myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@localhost
Если нет, пожалуйста, поясните в комментарии к вашему вопросу.