Протокол SSH позволяет не только защищенно администрировать компьютеры и получать доступ к сервисам сети через туннели, но еще и передавать файлы. Делается это очень просто.
Для этого нужна консольная утилита pscp.exe, входящая в очень полезный пакет утилит putty. Это свободный пакет, его легко можно найти в сети. Программа работает под Windows, но я не исключаю, что есть и под другие системы (по крайней мере по исходникам можно судить, что можно скомпилировать исполняемый файл под UNIX и MacOS). В принципе, компилировать pscp.exe под *nix нет смысла, так как аналогом pscp.exe там является утилита scp (secure copy program). Я скомпилировал pscp.exe под Windows из исходников (в Visual Studio 2003). Чтобы понять, как работает передача файлов, лучше рассмотреть примеры (сервер SSH работает на FreeBSD 6.3 и имеет адрес 192.168.0.254, а клиент SSH, на котором запускаем программу pscp.exe - на Windows XP).
[Передача файла в сторону сервера SSH] c:\Program Files\putty>pscp -P 22 c:\AUTOEXEC.BAT root@192.168.0.254:/root/autoexec_copy.txt Using keyboard-interactive authentication. Password: AUTOEXEC.BAT | 0 kB | 0.3 kB/s | ETA: 00:00:00 | 100%
После выполнения этой команды на сервере в папке /root появится файл autoexec_copy.txt - точная копия AUTOEXEC.BAT.
[Передача файла от сервера SSH к клиенту] c:\Program Files\putty>pscp -P 22 root@192.168.0.254:/etc/ipnat.rules c:\ipnat_rules_cpy.txt Using keyboard-interactive authentication. Password: ipnat_rules_cpy.txt | 1 kB | 1.8 kB/s | ETA: 00:00:00 | 100%
После выполнения этой команды на диске c: клиента, в корневом каталоге появится файл ipnat_rules_cpy.txt - точная копия ipnat.rules.
Опцию -P, указывающую порт подключения, указывать не обязательно, если используется стандартный порт SSH (22 TCP).
[Ссылки]
1. Как поднять сервер SSH на FreeBSD. 2. Как поднять сервер SSH на Windows. 3. OpenSSH - перенаправление портов через туннель. |
Комментарии
RSS лента комментариев этой записи