У меня есть служба .NET Core 2.2, работающая в OpenShift. Моя служба использует SSH.NET для подключения к моему удаленному SFTP-серверу, работающему вне облака OpenShift. SFTP-сервер настроен для предоставления только SFTP на порт 22.
Согласно SSH.NET код для подключения к SFTP-серверу:
var connectionInfo = new ConnectionInfo("10.1.2.3",
"guest",
new PasswordAuthenticationMethod("guest", "pwd"),
new PrivateKeyAuthenticationMethod("rsa.key"));
using (var client = new SftpClient(connectionInfo))
{
client.Connect();
}
Этот код отлично работает при использовании внутри моей интрасети.
Для доступа к удаленному ресурсу в OpenShift я создал выходной маршрутизатор, который предоставляет фиксированный IP-адрес. Все брандмауэры настроены так, чтобы разрешать доступ от OpenShift к моему SFTP-серверу.
Мой вопрос:
Какое значение я должен использовать для первого параметра в классе ConnectionInfo выше? IP-адрес «10.1.2.3» моего удаленного сервера не будет работать изнутри OpenShift, поскольку исходящий трафик должен строго проходить через службу выходного маршрутизатора.
Примечание:
Я уже могу получить доступ к удаленному серверу по протоколу HTTPS, используя доступ http-клиента из моего POD с помощью URL-адреса, подобного следующему: https://x -myservice-egress.y-myproject-infra-test: 4433 .