Показаны сообщения с ярлыком OpenSSH. Показать все сообщения
Показаны сообщения с ярлыком OpenSSH. Показать все сообщения

воскресенье, 8 января 2017 г.

Thunar – подключение по SSH


На поверхностный взгляд в файловом менеджере Thunar, который устанавливается вместе с окружением рабочего стола XFCE, отсутствует явная возможность подключения к узлу Linux по SSH. На самом деле это не так и возможность подключения есть.

Введите в адресной строке команду ssh://узел, например:


После Ваших ответов на вопросы о логине, пароле и доверии к подключаемому узлу будет установлено подключение через sftp:


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


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


Эту закладку потом можно будет переименовать через правое контекстное меню мыши.


Если не желаете вносить в закладки, то можно на рабочем столе создать значок запуска. В приведенном ниже примере создаётся значок запуска для доступа в папке Inbox:


В строке команда введено:

thunar "sftp://h67ma.net.org/home/manager/Inbox"

Обратите внимание, что Inbox начинается с заглавной буквы, так как папка на удалённом узле также имеет имя с заглавной буквы. Имена папок и файлов в Linux (в отличие от Windows) являются регистрозависимыми.

При первом запуск значка необходимо сделать его исполняемым:


В указанном примере соединение с сервером SSH производится по полному доменному имени. В домашней сети у Вас может и не стоять своего сервера DNS. Поэтому необходимо подключаться по IP-адресу сервера или прописать его в файл /etc/hosts

Откройте этот файл на редактирование и внесите после записи своего локального компьютера в новой строке запись в формате IP-адрес узел.


В Ubuntu и Linux Mint команда на редактирование этого файла

  sudo gedit /etc/hosts 

Начиная с версии 18 в Linux Mint используется не gedit или pluma, а xed. Как сопоставить команду gedit команде xed читайте здесь.

Почему sftp, немного теории.

SFTP (англ. "SSH File Transfer Protocol") – расширение протокола SSH. Он никак не связан с FTP, но точно также передает файлы и использует те же команды. SFTP использует Secure Shell (SSH) для передачи файлов, т.е. шифрует и файлы, и команды (не передает данные по сети в открытом виде). Порт – 22 или назначенный при настройке сервера SSH. Функционально SFTP близок к FTP и очень похож на него, но клиенты стандартного ФТП не могут подсоединиться к SFTP-серверу, как и наоборот. Подробнее: http://7bloggers.ru/chto-takoe-ftp/

SFTP-сервер встроен в OpenSSH. Он реализуется с помощью программы sftp-server. SFTP работает сразу и не требует никаких дополнительных действий для включения. Для установки SSH достаточно перейти в менеджер программ, найти пакет openssh-server и установить его.


Установленный сервер начинает работать сразу. По умолчанию используется порт 22. Чтобы изменить порт откройте файл ssh_config, который расположен с папке /etc/ssh, удалите значок # перед строкой Port 22 и вместо 22 укажите своё значение:



Изменение порта вступит в силу после следующего запуска сервера SSH. Перезагрузитесь или введите в терминале команду для перезапуска своего сервера SSH. В разных системах эта команда будет разной.

В Ubuntu и Linux Mint введите команду sudo /etc/init.d/ssh restart


суббота, 2 января 2016 г.

Передача файлов с одного компьютера на другой в Linux Mint


При работе двух компьютеров под управлением Linux Mint в домашней сети неоднократно возникала потребность передачи файлов с одного компьютера на другой и обратно. Первое, что приходит в голову, это использование ресурсов общих папок или создания серверов FTP, подключение к которым осуществляется через клиенты FTP, например Filezilla. Далее рассматриваются 2 способа решения этой задачи, только инструкции, без упоминания теоретической базы, поскольку у одного из моих знакомых в рабочем кабинете висит плакат с предупреждением "Здесь не умничать".

Обмен данными через общую папку


Для передачи файлов (и папок) через общую папку используются возможности службы Samba.


Простыми словами, Samba – это то же самое, что и общие папки в Windows. Для создания общего ресурса на папке вызовите правое контекстное меню и выберите "Общий доступ".


Поставьте галочку в поле "Опубликовать эту папку". В поле "Ресурс" укажите имя этой папки, которое будет отображаться в сети. По умолчанию предлагается совпадающее имя, но Вы можете указать и другое (какое пожелаете). Если надо, то укажите комментарий (который не является обязательным). Чтобы другие пользователи (с точки зрения операционной системы на другом компьютере будут именно другие пользователи, даже если только Вы ими пользуетесь) могли записывать в создаваемую папку общего доступа данные и удалять их из неё поставьте галочки в остальных полях.


Правда если у Вы являетесь системным администратором 3-го типа (кругом все враги), то не ставьте галочку в поле "Гостевой доступ". Тогда дополнительная настройка будет осуществляться Вами в соответствии с документацией на ПО Samba. Или сразу же переходите к описанию обмена данными через OpenSSH.

Нажмите кнопку "Создать ресурс". Посмотрите, не появился ли созданный Вами ресурс общего доступа в Вашей локальной сети. Если он так и не появился, то перегрузитесь.

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

Посмотрите на содержание папки общего доступа в сети:


На первый взгляд, всё замечательно, не правда ли? А теперь обратитесь к своей папке общего доступа не через сетевое окружение, а локально.


Чувствуете разницу? Теперь, чтобы избавиться от этого "замка", Вам нужно будет либо получать необходимые права на эти файлы и/или папки, либо копировать/перемещать данные из сетевой папки в какую-нибудь из своих локальных и наоборот.

  Ситуация объясняется тем, что запись информации была произведена пользователем nobody. Соответственно, правами на изменение данного контента обладает также пользователь nobody. Все остальные – только чтение.


Не кажется ли Вам это несколько неудобным? Теперь, если можно так выразиться, Вы "созрели" для второй части "марлезонского балета" (помните д'Артаньяна и трёх мушкетёров?).

Обмен данными через OpenSSH



Установим в систему сервер OpenSSH. Перейдите в менеджер ПО и введите в строку поиска ssh или openssh. В первой же строке результатов Вы увидите


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

Запустите клиент Filezilla и создайте подключение по SFTP, например,


При первой попытке подключения система Вам выдаст запрос:


  Причём этот запрос будет выдан для каждого пользователя удалённого узла. Т.е. если на удалённом компьютере, к которому я подключаюсь имеется 2 пользователя системы и я настраиваю 2 подключения по SFTP (для каждого отдельно), то указанный выше запрос будет мне выдан 2 раза.

Так как это узел моей ЛВС, то смело ставлю галочку в поле "Всегда доверять этому хосту, добавить ключ в кэш". И ...


Ну не красота ли? Я могу писать данные в любой папке удалённого компьютера, а не только в общей. Например, захотелось мне передать кино с одного компьютера на другой в папку "Загрузки", так оно и было записано не в папку Inbox, а именно в папку "Загрузки".


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

При сравнении скоростей записи файлов размером более 2,2 Гб с использованием Samba и OpenSSH выяснилось, что для OpenSSH этот показатель на 15-20 % выше. К тому же записанный через OpenSSH файл отображается без "замка":


В описанном примере указан адрес подключения в виде значения IP. Получается, что адрес узла, к которому производится подключение, должен быть статическим, т.е. постоянным.

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

Чтобы Вы не подумали, что мой позитивный настрой не является следствием описанного ниже,


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

Пример задания постоянно получаемого от модема адреса IP описан здесь.

  В моей домашней сети используется роутер MikroTiK, который сам поднимает Интернет через модем, работающий в режиме по умолчанию, т.е. Bridge. Как мне уже говорили, "ты вообще как сыр в масле катаешься". Команда "Make Static" и всё.


Если всё равно ничего не понятно, то можно сделать статический адрес на своём компьютере.

В "Параметрах системы" найдите "Подключения" и перейдите в настройки сети:


Этот рисунок соответствует оболочке Cinnamon



Впишите свои значения. В примере указано, что компьютер относится к сети 192.168.1.0/24 (с маской сети 255.255.255.0), а модем выполняет роль шлюза и имеет адрес по умолчанию 192.168.1.1


У некоторых сеть может быть 192.168.100.0/24 и адрес модема 192.168.100.1

В строке DNS переключатель переведите в левое положение и впишите адрес(а) DNS. Список адресов DNS можно посмотреть здесь.

Если совсем ничего не получится, то верните настройки адреса на "Автоматически и почитайте в Интернет как это осуществить. Не думаю, что Вы не найдёте таких сведений. В крайнем случае, попросите своего знакомого "гуру" настроить Вам статический адрес. Сядьте ему на шею и не слезайте с неё, пока не будет результата.