Дополнительные возможности SSH
Копирование файлов
из командной строки используется команда scp.
$ scp [file1] [user@host:file2]
некоторые опции:
-l limit - Ограничивает пропускную способность заданную в Kbit/сек.
-p - Сохраняет время модификации, время и права доступа и как у файла-оригинала.
-r - Рекурсивное копирование дерева каталогов с подкаталогами.
-v - Режим отладки. Принуждает scp выводить отладочную информацию об их работе. Это полезно для отладки соединения, аутентификации и проблем конфигурации.
-q - Отключает индикатор прогресса.
-P port - Определяет порт для связи с удаленной машиной(c ЗАГЛАВНОЙ) если был изменен дефолтовый порт.
далее ...
Пример копирования файла smb.conf на удаленный хост в домашнию директорию пользывателя ceval в папку conf :
$ scp smb.conf ceval@192.168.XXX.XXX:/home/ceval/conf
Пример рекурсивное копирование, полность каталог:
$ scp -r ~/music user@host:/home/user/music
Для выбора файлов для копирования в интерактивном режиме в стиле FTP используется команда sftp. Её использование практически не отличается от использования обычного ftp-клиента. Но при этом все данные передаются в зашифрованном виде.
Также есть возможность выполнять команду на одном компьютере, а результат её вывода сохранять на другом. Пример такого использования SSH Вы уже видели в предыдущем разделе: таким образом был дописан открытый ключ в файл на сервере. Дело в том, что после имени пользователя и компьютера можно передать команде ssh произвольную команду командного интерпретатора и она будет выполнена после соединения вместо вывода приглашения для ввода команд. При этом стандартный ввод и вывод ssh будут переданы запущенной команде.
Например, так можно сделать резервную копию файловой системы на сервер:
$ tar -c / | bzip2 -9 | ssh user@host "cat > /backup/root.tar.bz2"
Или вот эквивалент команды «scp -r /home user@host:/copy/»:
$ tar -c /home | ssh user@host "cd /copy; tar -x"
Также может использовать SSH команда rsync.
$ rsync -az -e "ssh -l user" mydir/ host:/copy/mydir
копирует каталог mydir в /copy/mydir на компьютере host. Имя пользователя в этом случае надо указывать в аргументе флага -l. rsync эффективно работает, когда копирование уже было совершено ранее и с тех пор каталог изменился незначительно. В этом случае rsync обеспечивает копирование только изменений.
Оставьте комментарий!