
Как мне изменить конфигурацию SSH или конфигурацию Cyberduck, чтобы разрешить SFTP-подключения с моей локальной машины для подключения через прокси-сервер, а затем подключения к моему целевому серверу? Прямо сейчас мое соединение обрывается/истекло время ожидания в Cyberduck. Однако я могу нормально подключиться к серверу через SFTP из окна терминала, и я думаю, что что-то может быть не так с моей конфигурацией SSH.
Вот как сейчас выглядит моя конфигурация SSH:
Host proxyserveraddress.test.com
ProxyCommand none
# PreferredAuthentications publickey
Host server1.test.com
Host server2.test.com
Host server3.test.com
######## DEFAULTS #########
Host *.test.com
User myusername
Port 8622
PreferredAuthentications publickey,password
ProxyCommand ssh proxyserveraddress.test.com exec nc %h %p 2>/dev/null
В качестве конкретного примера на основе этого образца конфигурации -
Как, например, изменить эту конфигурацию, чтобы Cyberduck на моей локальной машине сначала подключался к proxyserveraddress.test.com, а затем к server1.test.com?
решение1
Похоже, что cyberduck не использует SSH внутренне, а реализует протокол SSH самостоятельно.
Для подключений SFTP поддерживаются следующие параметры конфигурации из ~/.ssh/config:
- ФайлИдентификациидля аутентификации с открытым ключом.
- Имя хостапсевдонимы.
- Пользовательпредпочтение учетным данным для входа.
решение2
Я использую похожую конфигурацию, которая у меня отлично работает.
Возможно, будет полезно явно исключить прокси-сервер из последнего Host
блока:
Host *.test.com !proxyserveradres.test.com
ProxyCommand ...
Кроме того, вы можете попробовать -W
опцию (она в принципе делает то же самое nc
, но без дополнительной команды, поэтому она более эффективна и на один возможный источник ошибок меньше)
ProxyCommand ssh proxyserveraddress.test.com -W %h:%p