2017-02-01 2 views
0

Когда упаковщик достигает шага «Ожидание SSH, чтобы стать доступным ...».Упаковщик пропускает порты при попытке установить соединение SSH

Мои журналы показать

14:07:29 [INFO] Attempting SSH connection... 
14:07:29 reconnecting to TCP connection for SSH 
14:07:29 handshaking with SSH 
14:07:29 handshake error: ssh: handshake failed: read tcp 127.0.0.1:60372->127.0.0.1:3057: read: connection reset by peer 
14:07:29 [DEBUG] SSH handshake err: ssh: handshake failed: read tcp 127.0.0.1:60372->127.0.0.1:3057: read: connection reset by peer 

14:07:36 [INFO] Attempting SSH connection... 
14:07:36 reconnecting to TCP connection for SSH 
14:07:36 handshaking with SSH 
14:07:36 handshake error: ssh: handshake failed: read tcp 127.0.0.1:60376->127.0.0.1:3057: read: connection reset by peer 
14:07:36 [DEBUG] SSH handshake err: ssh: handshake failed: read tcp 127.0.0.1:60376->127.0.0.1:3057: read: connection reset by peer 

Примечание другой порт на каждую попытку.

60372 
60376 

Упаковщик пробует новый порт каждые 7 секунд.

Есть ли способ настроить порты до или во время сборки, чтобы избежать этого подхода try/fail?

+0

То, что вы видите, это типичное поведение клиента TCP. Какую проблему вы пытаетесь решить здесь? – Kenster

+0

Проблема в том, что время нахождения хорошего порта составляет от 10 до 60 минут. Это делает сборки непредсказуемыми и время от времени. У моей работы Дженкинса 45 минут. Когда я запускаю упаковщик вручную, это обычно занимает 5-15 минут. –

+0

«Сброс соединения сверстником» обычно указывает на некоторую проблему на сервере ssh. Вы уверены, что исходный порт, используемый клиентом, имеет отношение к вашей проблеме? – Kenster

ответ

0

Проблема не с SSH-сервером или TCP/IP. Это связано с тем, как разработан Пэкер.

При создании виртуальной машины Packer.io запускает загрузочные команды. Для разных машин требуется время и время. За это время вы увидите сообщение «Ожидание выхода SSH ...». На заднем плане Packer.io будет пытаться установить соединение SSH. Журнал насыщен сообщениями как этот

Linux 
14:07:29 [INFO] Attempting SSH connection... 
14:07:29 reconnecting to TCP connection for SSH 
14:07:29 handshaking with SSH 
14:07:29 handshake error: ssh: handshake failed: read tcp 127.0.0.1:60372->127.0.0.1:3057: read: connection reset by peer 
14:07:29 [DEBUG] SSH handshake err: ssh: handshake failed: read tcp 127.0.0.1:60372->127.0.0.1:3057: read: connection reset by peer 

или

Windows 
15:54:31 packer.exe: 2017/02/01 15:54:31 [INFO] Attempting SSH connection... 
15:54:31 packer.exe: 2017/02/01 15:54:31 reconnecting to TCP connection for SSH 
15:54:31 packer.exe: 2017/02/01 15:54:31 handshaking with SSH 
15:54:31 packer.exe: 2017/02/01 15:54:31 handshake error: ssh: handshake failed: read tcp 127.0.0.1:62691->127.0.0.1:4289: wsarecv: An existing connection was forcibly closed by the remote host. 
15:54:31 packer.exe: 2017/02/01 15:54:31 [DEBUG] SSH handshake err: ssh: handshake failed: read tcp 127.0.0.1:62691->127.0.0.1:4289: wsarecv: An existing connection was forcibly closed by the remote host. 

ОС будет загружаться и с его помощью SSH-сервер на госте станет доступным. В этот момент необходимо установить соединение SSH от хоста до гостя.

Воспроизводится и Подтверждено на Windows 10 Pro и Ubuntu 16.04.1 Tls

1

Это исходный порт, из которого выполнено соединение ssh. Он назначается ОС со случайным доступным высоким портом.

+0

, похоже, наоборот, исходный порт после> первого порта является портом назначения. SSH пытается использовать случайные порты, когда первый из них не работает. –

+0

Нет, не похоже. –

+1

Это не удается, потому что sshd еще не запущен. –

Смежные вопросы