Самый простой способ передать файлы между двумя компьютерами, работающими под управлением Ubuntu - с помощью scp и sftp. Протокол SSH File Transfer Protocol или SFTP - это сетевой протокол, который обеспечивает передачу и управление файлами по надёжному каналом связи. Обычно он используется совместно с протоколом SSH-2 (порт TCP 22), обеспечивающим шифрование, но можно его использовать и с другими протоколами.
Шаг I
Проверьте, что два компьютера могут связаться друг с другом. Для этого потребуется узнать сетевые адреса компьютеров ( здесь мы рассказали, как это делается
) и с первого компьютера выполнить команду ping
по адресу второго:
ping 192.168.0.1
Если видите строки вида ‘ xxx bytes received from 192.168.0.1 in 8 ms
’ – всё в порядке, можно продолжать дальше. Если возникла ошибка - нужно сначала её устранить.
Шаг II
На удаленной машине, к которой вы будете подключаться, должен быть установлен и запущен сервер SSH. Проверить это можно следующей командой
ssh user@host
где user - имя пользователя, а host - адрес компьютера. Если возникает ошибка, нужно настроить SSH-сервер. Для этого выполните следующую команду:
# sudo apt-get install openssh-server openssh-client
На самом деле, всё уже готово. Можно проверить работу, выполнив команду:
# ssh localhost
или
# ssh user@ip-address
Для того, чтобы остановить сервер SSH:
# sudo /etc/init.d/ssh stop
Для того, чтобы запустить сервер SSH:
# sudo /etc/init.d/ssh start
Для того, чтобы перезапустить сервер SSH:
# sudo /etc/init.d/ssh restart
Вернемся к передаче файлов. Как мы уже говорили, передача возможна двумя способами.
С помощью sftp
Для начала подключитесь к компьютеру, на котором только что установили сервер SSH
user@user-laptop:~$ sftp user@192.168.0.107
Connecting to 192.168.0.107…
user@192.168.0.107 ’s password: <введите пароль пользователя user>
sftp>
Теперь можно передать файлы с помощью команды
sftp> get file.dat /home/user/Documents
Другие полезные команды sftp
Кроме копирования файлов, протокол sftp позволяет манипулировать файловой системой удаленного компьютера. Можно использовать следующие команды: cd путь Изменяет удалённую папку на путь.
lcd путь Изменяет локальную папку на путь.
chgrp группа путь Изменяет группу файла по пути на определенную группу. Группа должна быть указана в формате цифрового GID.
chmod права путь Задаёт определенные права доступа файлу, расположенному по указанному пути.
chown владелец путь Изменяет владельца файла, расположенного по указанному пути. Владелец должен быть указан в формате цифрового UID.
exit Выходит из sftp
get удаленный-путь [локальный-путь] Получает файлы по удаленному-пути и сохраняет их на локальной машине. Если локальный-путь не задан, используется путь удаленной машины.
help Выводит помощь.
ln старый-путь новый-путь Создаёт символическую ссылку со старого-пути по новому-пути.
lpwd Выводит локальную рабочую директорию.
ls [путь] Выводит содержимое директории по указанному пути (если путь не указан, выводится локальная папка).
mkdir путь Создаёт удалённую папку по указанному пути.
lmkdir путь Создаёт локальную папку по указанному пути.
put локальный-путь [удалённый-путь] Загружает файлы из локального-пути и сохраняет их на удалённой машине. Если удалённый-путь не указан, используется такой же путь, как на локальной машине.
pwd Выводит удалённую рабочую директорию.
quit Выход из sftp rename старый-путь новый-путь Изменяет имя удалённого файла со старого-пути на новый-путь.
rmdir путь Удаляет удалённую директорию, указанную в пути.
rm путь Удаляет удалённый файл, указанынй в пути.
symlink старый-путь новый-пут Создаёт символическую ссылку со старого-пути по новому-пути.
С помощью scp
Синтаксис scp следующий:
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 […] [[user@]host2:]file2
Более подробную информацию можно найти в справочной системе, выполнив команду man scp
.
Однако, если вы не фанат интерфейса командной строки , вы можете воспользоваться sftp/scp-клиентом, например, FileZilla .