Соединение zftp отклонено, sftp работает

В предыдущих ответах упоминалось, как использовать директиву ProxyJump (, добавленную в OpenSSH 7.3 ), для подключения через промежуточный сервер (, обычно называемый хостом-бастионом ), но упоминайте его только как команду линейный аргумент.

Если это не машина, которую вы не будете подключать в будущем, лучше всего настроить ее на ~/.ssh/config.

Я бы поставил файл типа:

Host office-machine
Hostname yochay-machine.internal.company.local
ProxyJump bastion-machine

Host bastion-machine
Hostname organization-server.company.com
...

Если вы используете более раннюю версию OpenSSH, которая не поддерживает ProxyJump, вы должны заменить ее эквивалентной:

ProxyCommand ssh -W %h:%p bastion-machine

и если ваша локальная версия ssh была очень старой и не поддерживала-W:

ssh bastion-machine nc %h %p

хотя для последнего требуется, чтобы на машине-бастионе была установлена ​​nc.

Прелесть ssh в том, что вы можете настроить каждое место назначения в файле, и они будут очень хорошо складываться. Таким образом, вы в конечном итоге работаете с office-machineв качестве имени хоста для всех инструментов (ssh, scp, sftp... ), поскольку они были прямыми подключениями, и они выяснят, как подключиться на основе ssh _. ] конфиг. У вас также могут быть подстановочные знаки, такие как Host *.internal.company.local, чтобы все хосты, заканчивающиеся таким образом, проходили через определенный бастион, и это будет применяться ко всем из них. После правильной настройки единственная разница между соединением с одним переходом или двадцатью будет заключаться в более медленном времени соединения.

0
09.10.2021, 07:22
1 ответ

zsh/zftpявляется FTP-клиентом . sftpявляется клиентом SFTP . FTP и SFTP — совершенно разные протоколы. SFTP — это протокол передачи файлов через SSH, но это не FTP через SSH.

zftp open 10.211.55.8будет работать только при наличии FTP-сервера на 10.211.55.8, в то время как sftp 10.211.55.8работает на большинстве не -встроенных систем с SSH-сервером (это функция OpenSSH, которая обычно включена по умолчанию ). FTP, как и rsh, в значительной степени был вытеснен SSH 1,2 .

zftpбыл разработан в основном из-за относительной сложности FTP. Не было бы особого смысла делать что-то подобное для SFTP. Обычно, если у вас есть доступ к SFTP, у вас также есть доступ к оболочке SSH и доступ к SCP, и вы можете использовать scpдля копирования файлов (zsh обеспечит завершение, поэтому вам не нужно lsмного ).

Чтобы упростить SFTP, можно использовать SSHFS для локального монтирования дерева каталогов удаленного сервера. Для этого требуется включенный SFTP на сервере и FUSE на клиенте. Обычно это просто вопрос установки пакета sshfsвашего дистрибутива.

sudo pacman -S sshfs
mkdir -p ~/net/vm
sshfs 10.211.55.8: ~/net/vm
ls ~/net/vm/somedir
cp somefile ~/net/vm/somedir

1Раньше FTP обычно использовался без аутентификации, но теперь он в значительной степени вытеснен HTTP (S ).
2Существует стандарт для использования TLS с FTP, называемый FTPS , но он так и не получил широкого распространения.

2
09.10.2021, 19:58

Теги

Похожие вопросы