Не удается подключиться к удаленному FTP-серверу через LFTP на общедоступном сервере gitlab

#gitlab #lftp #runner #ionos

# #gitlab #lftp #бегун #ionos

Вопрос:

У меня есть FTP-сервер по адресу Ionos.com что хорошо работает с Filezilla. Однако, когда я пытаюсь подключиться к этому FTP-серверу через LFTP на общедоступном сервере gitlab (узел: последнее изображение), я продолжаю получать ошибки в зависимости от того, что я делаю :

Подключение к порту 21:

 lftp -d -e "set ftp:ssl-allow no;set ssl:verify-certificate false;set sftp:auto-confirm no;ls;" -u 'xxx','xxx' -p 21 'xxx'

---- Resolving host address...
---- 2 addresses found: xxx, xxx
---- Connecting to xxx (xxx) port 21
**** Socket error (Network is unreachable) - reconnecting
---- Closing control socket
---- Connecting to xxx (xxx) port 21
<--- 220 FTP Server ready.
---> FEAT
<--- 500 'FEAT': command unrecognized.
---> USER xxx
<--- 331 Password required for xxx
---> PASS xxx
<--- 530 Login incorrect.
---> PWD
ls: Login failed: 530 Login incorrect.
<--- 421 Service not available, closing control connection.
---> QUIT
<--- 530 Not logged in.
---- Closing control socket
 

Подключение к порту 22:

 lftp -d -e "set ftp:ssl-allow yes;set ssl:verify-certificate true;set sftp:auto-confirm yes;ls;" -u 'xxx','xxx' -p 22 'xxx'

---- Resolving host address...
---- 1 address found: xxx
---- Connecting to xxx (xxx) port 22
<--- SSH-2.0-OpenSSH_7.9p1 Debian-10 deb10u1~ui10 2
**** Peer closed connection
---- Closing control socket
 

Последние 4 строки повторяются до тошноты.

Я уже проверил, подходят ли учетные данные и хост сервера, протестировав их на Filezilla.

Кто-нибудь может мне помочь? Спасибо

Ответ №1:

Мне потребовалось некоторое время, чтобы заставить его работать, вот мое решение:

 deploy:
  script:
    - apt-get update -qq amp;amp; apt-get install -y -qq lftp
    - mkdir ~/.ssh/
    - ssh-keyscan -t rsa homexxxxxxx.1and1-data.host >> ~/.ssh/known_hosts
    - lftp -d -e "set ftp:ssl-allow yes;set ssl:verify-certificate true;set sftp:auto-confirm yes;ls;" -u $USERNAME,$PASSWORD -p 22 'sftp://homexxxxxxx.1and1-data.host' -e "mirror -e -R -x .git -p ./ ; quit"
  only:
    - master
 

Без строки ssh-keyscan -t rsa homexxxxxxx.1and1-data.host >> ~/.ssh/known_hosts бегун gitlab возвращал host key verification failed ошибку.

Ответ №2:

Проблема в том, что для FTP требуется SFTP-соединение.

Для подключения LFTP через SFTP нам нужно использовать «sftp: //» перед именем хоста.

 lftp -d -e "set ftp:ssl-allow yes;set ssl:verify-certificate true;set sftp:auto-confirm yes;ls;" -u 'xxx','xxx' -p 22 'sftp://xxxx'