Как отправить файл по ssh raspberry

Обновлено: 07.07.2024

ⓘ Эта статья могла быть частично или полностью переведена с помощью автоматических средств. Приносим извинения за возможные ошибки.

В этом уроке мы увидим, как мы можем активировать SSH на Raspberry Pi, с клавиатурой или без нее!

Оборудование для включения SSH

Для активации SSH нам понадобится немного оборудования. Возможны два решения.

Первое решение: активируйте SSH с Raspberry Pi, в этом случае вам понадобятся экран и клавиатура.

Второе решение: активируйте SSH со своего компьютера, изменив файл на SD-карте. В этом случае вам понадобится компьютер и устройство для чтения SD-карт.

В любом случае нам понадобится Raspberry Pi (любая модель), блок питания и SD-карта с установленным Raspbian.

Активируйте SSH на Raspberry Pi с помощью raspi-config.

Первое решение для активации SSH, ваш Raspberry Pi имеет экран и клавиатуру. В этом случае мы будем напрямую использовать инструмент командной строки raspi-config .

Откройте терминал и введите там следующую команду:

Вы подойдете к такому окну.

Если вы еще не сделали этого, я советую вам начать с изменения пароля по умолчанию (первая строка, «Изменить пароль пользователя») Raspberry Pi, поскольку теперь он будет доступен по SSH.

Затем, когда пароль был изменен, перейдите в раздел «Параметры взаимодействия» и выберите строку SSH, затем «Да».

Итак, ваш SSH-сервер активирован!

Активируйте SSH без экрана или клавиатуры со своего ПК.

Второе решение для активации SSH: у вас нет клавиатуры или экрана, подключенных к Raspberry Pi, и вы хотите управлять им полностью удаленно.

Не паникуйте, фонд Raspberry Pi предоставил решение, нам просто нужно будет создать файл на SD-карте Raspberry, и он автоматически активирует SSH при следующем запуске.

Вставьте SD-карту вашего Pi в свой компьютер и перейдите в раздел boot , который также является единственным, доступным из Windows.

Это сделано, создайте файл с именем ssh в счете boot из меню. Без расширения, без содержимого, просто пустой файл с именем ssh .

Извлеките карту из ПК, вставьте обратно в Pi, включите и вуаля, SSH активирован!

Вывод

Активация SSH на Raspberry Pi в конечном итоге не очень сложна.

Вам все равно нужно будет подключить Raspberry Pi к вашему устройству через Wi-Fi или через Ethernet.

Обратите внимание, однако, что мы только увидели, как включить SSH. Чтобы узнать, как его использовать, см. Наше руководство о том, как подключиться к Raspberry по SSH.

Наконец, имейте в виду, что вы можете подключиться только через SSH из своей локальной сети. Если вы хотите подключиться откуда угодно, вам нужно будет сделать свой Raspberry Pi доступным в Интернете.

ⓘ Эта статья могла быть частично или полностью переведена с помощью автоматических средств. Приносим извинения за возможные ошибки.

В этом руководстве мы увидим, как передавать файлы с нашего компьютера на Raspberry Pi без необходимости установки FTP-сервера, но только с помощью SSH-сервера, уже установленного на Raspberry Pi, и команды scp !

Материал, использованный в этом уроке

В этом уроке мы будем использовать следующий материал:

Кроме того, для выполнения этого руководства вам также необходимо включить SSH-сервер вашего Raspberry Pi. Если вы не знаете, как это сделать, ознакомьтесь с нашим руководством, чтобы включить SSH.

Что такое SCP, передающий файлы по SSH?

Если вы используете Raspberry Pi, вы, вероятно, слышали о SSH, инструменте, который позволяет удаленно управлять компьютером из командной строки. Но вы можете не знать, что SSH не только для этого.

Одним из многих возможных вариантов использования SSH является SCP, или Secure CoPy. Это протокол для передачи файлов с одного компьютера на другой, основанный на протоколе SSH, который шифрует передаваемые данные.

Поэтому для нас, работающих с Raspberry Pi, SCP особенно интересен, поскольку Raspberry Pi уже имеет встроенный SSH-сервер, и поэтому нам не нужно устанавливать или настраивать сервер, как в случае с FTP.

Если вы новичок в SSH, возможно, вы захотите прочитать наше руководство по SSH, прежде чем продолжить. Это несущественно, но я думаю, что это проясняет ситуацию.

Передача файлов с помощью SCP с компьютера Linux

Команда scp используется следующим образом: scp <ressource_a_envoyer> <destination>

Сначала вы помещаете ресурс для отправки (их может быть несколько, разделенных пробелами) и в конце команды, куда их отправлять.

Ресурсы и направления на самом деле определяются путями. Это могут быть простые пути к файлам или учетные данные для входа, связанные с путями к файлам.

Передача файла в SCP.

Здесь, например, вы можете увидеть перенос файла сохранения во временный каталог Pi.

И он работает как SSH, вы заполняете учетную запись пользователя, хост, путь, вас спрашивают пароль учетной записи, и, если пароль правильный, файл передается.

Некоторые примеры для лучшего понимания путей SCP.

Чтобы помочь вам лучше понять, как это работает, вот несколько примеров путей и команд SCP.

Во всех приведенных ниже примерах мы будем отправлять и извлекать файлы с Raspberry Pi, подключенного по сети к IP-адресу. 192.168.0.15 и с пользователем по умолчанию, pi .

Восстановить файл /home/pi/toto.txt на Raspberry Pi и скопируйте в папку /tmp с вашего ПК:

Перенести файлы

/file1 и

/file2 с вашего ПК в папку /home/pi из вашей малины:

Наконец, в особом случае передать весь файл /home/pi из вашего Raspberry Pi в новую папку

/tmp_pi на вашем ПК:

Обратите внимание на использование аргумента -r что позволяет передавать файлы.

Таким образом, под Linux нет ничего проще, чем передать файл на Raspberry Pi или с него с помощью SCP по сети!

Перенос файлов на Raspberry Pi из Windows или Mac OS

В Windows или Mac OS, как это часто бывает, мы не собираемся передавать файлы напрямую в командные строки, а вместо этого будем использовать графический интерфейс.

На самом деле мы собираемся использовать инструмент, который вы, вероятно, знаете, если раньше использовали FTP-сервер, FileZilla. Действительно, если FileZilla изначально является клиентом FTP, он также действует как клиент SFTP и SCP.

Перейдите на страницу загрузки FileZilla, выберите версию, подходящую для вашей системы, установите ее и запустите программу.

Домашний интерфейс FileZilla

При запуске FileZilla доступна только левая часть (ваш компьютер).

После запуска FileZilla нажмите «Файл», «Диспетчер сайтов», откроется окно, позволяющее управлять своими сайтами. Сделайте «Новый сайт», правая часть позволяет вам ввести информацию о подключении к Raspberry Pi.

В разделе «Хост» введите IP-адрес вашего Raspberry Pi (если вы его не знаете, перейдите к нашему руководству, чтобы узнать IP-адрес вашего Raspberry Pi).

В части порта введите SSH-порт вашего Raspberry Pi, по умолчанию это 22.

Что наиболее важно, в разделе «Протокол» выберите Протокол передачи файлов SSH, это протокол передачи на основе SSH, который заменил SCP и поддерживается FileZilla.

Наконец, для части «Тип аутентификации» выберите «Обычный» и введите своего пользователя Raspberry, pi и ваш пароль.

Все, что вам нужно сделать, это нажать на «Подключение».

Интерфейс для добавления сайта для передачи SCP / SFTP.

Ваши поля должны выглядеть примерно так, конечно, с настройкой IP.

И вот, вы подключены к своему Raspberry Pi! Теперь вы можете исследовать файловую систему так же, как и ваш пользователь Pi.

Интерфейс FileZilla с SFTP-подключением к серверу.

Теперь, когда вы подключены к серверу, вы можете увидеть его файлы справа.

Это означает, что вы имеете право делать на сервере все, что может делать ваш пользователь Pi. Вы можете легко передавать файлы между Raspberry Pi и компьютером, просто перетаскивая их!

Копирование файлов Raspberry pi

Обмен файлами между Raspberry Pi и удаленным ПК должен быть не только быстрым, но и надежно защищенным. Есть несколько способов этого достичь.

В предыдущей статье мы рассмотрели создание защищенного доступа по протоколу SSH . SSH предоставляет несколько методов для копирования файлов с одного компьютера на другой, которые все работают с теми же ключами и агентами.

PSCP разрешает командную строку для копирования файлов с удаленного сервера SSH, а PSFTP обеспечивает FTP-подобный интерфейс для удобной передачи файлов. Загрузим PSCP и PSFTP с сайта PuTTY и рассмотрим их работу.

PSFTP может быть запущен из командной строки или с помощью ярлыка на рабочем столе, и в обоих случаях принимает имя хоста или название сохраненной сессии.

При запуске PSFTP подключается к целевому серверу (полностью воспользовавшись открытыми ключами и локальным агентом, если таковые имеются), и предоставляет подсказку psftp>:

C> psftp dbserver
Using username "steve".
Remote working directory is /home/steve
psftp>

Регулярным пользователям FTP-клиентов с командной строкой это знакомо, хотя, конечно, не настолько простое в использовании, как популярные графические клиенты. Команда помощи help может дать некоторые ориентиры.

Пользователи командной строки, возможно, пожелают скопировать файлы напрямую, а это можно сделать с pscp - командой безопасного копирования. Так же, как копирование обычных файлов в локальной файловой системе, pscp принимает имя машины и директории как источника или места назначения.

pscp может передавать один файл за раз, или целый набор в одном экземпляре, например:

C> pscp *.gbk dbserver:/db/evolution
CL_100.gbk | 97 kB | 97.4 kB/s | ETA: 00:00:00 | 100%
CL_101.gbk | 68 kB | 68.2 kB/s | ETA: 00:00:00 | 100%
CL_103.gbk | 44 kB | 44.5 kB/s | ETA: 00:00:00 | 100%
CL_110.gbk | 34 kB | 34.6 kB/s | ETA: 00:00:00 | 100%
CL_123.gbk | 45 kB | 45.4 kB/s | ETA: 00:00:00 | 100%

Интересно, что не должно вводиться название сохраненной сессии: только имя хоста и текущее имя пользователя (которые обычно берутся автоматически из окружающей среды). Похоже, что psftp и pscp обращаются к списку сохраненной сессии, находят соответствующий раздел, а затем используют для доступа к связанной информации.

Midnight Commander (mc) - консольный файловый менеджер и браузер репозитория. Это дружественная система для решения многих задач в окне терминала, и быстрый способ для копирования, перемещения или удаления нескольких файлов. mc также может выполнять быструю передачу файлов FTP и сетью. Другими уникальными особенностями являются возможность просматривать внутри архивов и восстановление файлов.

Консольный файловый менеджер

Как правило, Midnight Commander входит в пакет установки ОС и запускается введением mc в окне терминала.

Основное окно имеет две панели директорий, с выпадающим меню на линии вверху, командной строкой внизу и, еще ниже, списком представленных функциональных клавиш F (функция). Над командной строкой - хиты, которые показывают случайные советы.

Как правило, Вы хотите отобразить различные директории на каждой из боковых панелей, чтобы можно было выполнять действия над файлами между ними.

прокрутка директорий с помощью клавиш со стрелками вверх/вниз

Home и End, чтобы перейти к верхней или нижней части длинной директории

клавиши назад/влево для перехода в родительскую директорию

F1 - помощь. Более читабельна, чем справочная страница с 2000 строками, хотя и тяжелая для просмотра.

F2 - меню пользователя (предлагает возможность gzip файлов и т.д.)

F3 - просмотр (удобно, чтобы проверить содержимое файлов rpm или tgz или читать содержимое файлов)

F4 - редактировать с помощью внутреннего редактора mcedit

F10 - достаточно. Закрывает mc, а также mcedit и любые нежелательные открытые меню.

Если у Вас нет F-клавиш, используйте Esc - порядковый номер (1-0) вместо них.

Напоминаем, что для возможности сохранения редактируемых файлов часто необходимо запускать mc через sudo.

Ctrl R - обновить или повторно сканировать директорию просмотра

Ctrl-x d - сравнить директории (отпустить ctrl-x перед нажатием d)

Alt c - быстро cd (открывает коробку, быстрее набирать, чем через arrowing, если Вы знаете полный путь)

(Shift ) + - выбор группы. Можно вводить символы, чтобы выделить определенный тип или имя файла.

(Shift ) * - обратный отбор. Изменения выделяются для всех невыбранных файлов. Удобная в использовании этих двух в комбинации, при попытке быстро выбрать все, кроме определенной группы.

В Midnight Commander есть встроенный ftp-клиент для удобной работы с FTP-серверами. Для этого используется команда "FTP -соединение", доступная из меню левой и правой панелей.

Midnight Commander

Вызвав это меню, нужно ввести только следующую команду:

Также возможен подобный вариант, если вводить данные в командную строку при открытом mc:

WіnSCP - это графический клиент SFTP для Windows с открытым исходным кодом. Он также унаследовал поддержку протокола SCP. Предназначен для защищенного копирования файлов между компьютером и серверами, поддерживающими эти протоколы.

интеграция с ОС Windows (drag&drop, поддержка схем URL, ярлыки)

поддержка SFTP и SCP протоколов по SSH-1 и SSH-2 , а также протокола FTP

автоматизация с помощью скриптов и командной строки

синхронизация директорий по нескольким автоматическим и полуавтоматическим функциями

поддержка различных методов аутентификации SSH протокола: парольная, открытым ключом, Kerberos (GSS) и интерактивная клавиатура

интеграция с Pageant (PuTTY Agent) для поддержки авторизации открытым ключом

два интерфейса пользователя: как в проводнике Wиndows Explorer и как в Norton Commander (похожий на Midnight Commander или Total Commander)

возможность использования файла конфигурации вместо реестра, что удобно при запуске с переносных носителей

WіnSCP выполняет все основные операции с файлами, такие как загрузка и выгрузка файлов. Он также позволяет переименовывать файлы и директории, создавать директории, изменять свойства файлов и директорий, а также создавать символические ссылки и ярлыки.

С помощью WіnSCP можно соединиться с сервером SSH протокола SFTP или SCP, как правило, с машинами под ОС Linux.

SFTP по умолчанию входит в протокол SSH-2. SCP, также по умолчанию, входит в протокол SSH-1. Оба протокола могут работать с обоими версиями SSH. WіnSCP поддерживает как SSH-1, так и SSH-2. Поддерживается только базовый FTP.

Программа предлагает пользователю два интерфейса, каждый из которых может быть настроен при помощи множества параметров. Один из двух интерфейсов программы также позволяет управлять файлами на локальном компьютере пользователя.

Как только Вы начинаете использовать WіnSCP, возможно, захотите использовать интерфейс в стиле Проводника Wиndows Explorer, так как он хорошо известен всем пользователям ОС Windows.

Графический клиент SFTP

Однако, если Вы привыкли работать в программах типа Norton Commander, или подобных целому ряду современных файловых менеджеров (Total Commander, FAR, Altap Salamander), выбирайте интерфейс как в Norton Commander, так как он более удобен для управления с клавиатуры и его можно использовать вообще без помощи "мыши", что позволяет выполнять основные операции быстрее.

Это позволит только пользователям pi и bodhi монтировать и изменять содержимое папок.

Pi-Transmission-3

Поэтому достаточно торрент-клиентов для рабочего стола Linux. Что отличает Transmission от других - это простой для использования веб-интерфейс, который напоминает подобный для десктопа. Мы установим Transmission на Raspbian и будем обращаться к нему из любого браузера на любом компьютере, чтобы добавлять, мониторить и управлять торрентами.

Для установки Transmission входим через SSH на RPi и вводим:

Это позволит установить и запустить демон Transmission. Но, прежде чем Вы сможете использовать его для загрузки торрентов, необходимо его настроить. Перед внесением любых изменений в файл конфигурации Transmission убедитесь, что демон не запущен:

Кроме того, перед тем как двигаться дальше, добавьте пользователя передачи (debian - transmission), который создался автоматически при установке демона, к нашей группе пользователей:

Теперь создадим публичный ресурс на устройстве USB, на который мы будем загружать торренты. Во-первых, создаем общедоступный раздел на USB и назначаем пользователя передачи его владельцем:

Теперь добавьте этот раздел в конфигурационный файл Samba:

Перезапустите Samba, чтобы сделать раздел доступный каждому. С публичным разделом на месте пришло время настроить демон Transmission. Его параметры определены в /etc/transmission-daemon/settings.json

Откройте файл в nano и сначала измените параметр "rpc-whitelist-enabled": true на "rpc-whitelist-enabled": false , чтобы позволить пользователям подключаться со всех компьютеров.

Вы также можете отделить неполные файлы, сохраняя их в другую папку. Во-первых, включите опцию путем изменения параметра "incomplete-dir-enabled": false на "incomplete-dir-enabled": true укажите каталог, который будет домом для незавершенных загрузок из "incomplete-dir": "/mnt/usb/public/downloads/Incomplete"

Так как мы дали право собственности на каталог /mnt/usb/public пользователю передачи, то он будет автоматически создавать новые каталоги. В то время, как скачиваемые торренты открыты, Вы можете убедиться, что не каждый может стоять в очереди торрентов для загрузки.

Одним из способов сделать это - запросить у пользователей аутентификацию, прежде чем разрешить им доступ к Transmission. Для этого сначала надо изменить параметр "rpc-authentication-required": false на "rpc-authentication-required": true

Затем определить пароль в параметре "rpc-password": "<password>" , который будет автоматически шифровать Transmission. Теперь сохраните файл и запустите демон Transmission с sudo service transmission-daemon start.

По умолчанию, Transmission использует порт 9091. В нашем примере, полный URL для веб-интерфейса Transmission будет 192.168.3.100:9091. Запустите браузер и введите этот адрес.

Если Вы включили параметр пароля, то Вам будет предложено ввести учетные данные для входа. Именем является transmission, а пароль, который Вы указали в файле конфигурации.

Перед тем, как скачать торрент, Вам необходимо знать расположение файла .torrent. Перейдите к веб-интерфейсу Transmission и нажмите кнопку Open Torrent (Открыть торрент). Вставьте URL в всплывающем окне и нажмите кнопку Upload (Загрузить), чтобы начать загрузку.

В интерфейсе легко ориентироваться. По умолчанию, он показывает все добавленные торренты, но Вы можете использовать выпадающее меню, чтобы посмотреть торренты согласно их состояния загрузки или трекеров. При нажатии правой кнопкой мыши на перечисленном торренте в списке, будет отображено контекстное меню.

ППосле того, как торрент загружен, согласно нашей конфигурации, он будет автоматически перемещен в общедоступный каталог /mnt/usb/public/downloads/Complete . Самый простой способ доступа к общему ресурсу в Linux - ввести его адрес в менеджере файлов по умолчанию. Большинство современных менеджеров файлов Linux, таких как Nautilus Gnome, поддерживают Samba. Запустите Nautilus и нажмите Ctrl+L для доступа к адресной строке.

Pi-map-4

Теперь введите smb:// затем IP-адрес RPi с запущенной Samba. В нашем случае, это было бы smb://192.168.3.100 . Чтобы получить доступ к определенному разделу, Вы можете добавить его название в конце адреса, например, smb://192.168.3.100/documents . Или можете смонтировать часть из командной строки:

Для автоматического монтирования расшаренных разделов Вы можете добавить их в файл /etc/fstab:

//192.168.3.100/usb/downloads /mnt/downloads cifs username=pi,password=raspberry 0 0

Можно подключить удаленное устройство USB на Windows. Откройте на машине Windows 7 My Computer (Мой компьютер) и кликните на кнопку Map Network Drive (Подключить сетевой диск). В окне, которое появится, выберите букву диска и введите путь к сетевой папке. Это будет что-то вроде 192.168.3.100usbvideos . Вам будет предложено ввести информацию для аутентификации, затем привод будет отображаться в Мой компьютер.

Расшаренный доступ с Android-устройства

Pi-Android-5

ММагазин Android Play наполнен файловыми менеджерами, которые могут работать с расшаренных ресурсами Samba. Мы используем популярный файловый менеджер ES File Explorer.

Pi-Android-6

В приложении измените View (Вид) с Local (Локально) на LAN (сеть), а затем перейдите в Menu > New > Server (Меню> Создать > Сервер) и введите параметры соединения и аутентификации.

Pi-Android-7

В зависимости от Ваших прав, Вы сможете загружать, хранить и проигрывать файлы и получить доступ к публичным и частным расшаренным разделам.

Читайте также: