Как удобно использовать sftp?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

storm2005
Сообщения: 136

Как удобно использовать sftp?

Сообщение storm2005 »

Есть проблема: пользоватсья sftp чертовски неудобно.
Что я делаю сейчас? Есть у меня каталог забитый мелкими sh скриптами типа такого:

Код: Выделить всё

#!/bin/sh
sshfs -v -o IdentityFile=/home/user/.ssh/user_rsa root@192.168.1.1:/ /mnt/sshfs/server


Что раздражает?
1. вводить пароль на ключ.
2. запускать вообще скрипт на коннект к серверу. Нужна иерархия где я выбираю сервер и сразу вижу его корневую файловую систему.

На всякие sftp клиенты без слез смотреть нельзя - файлзилла не поддерживает ключи с паролем.
В winscp нет возможности в одно окно вывести подключение сразу к двум серверам - чтобы файлы сразу копировать с сервера на сервер (по крайней мере чтобы визуально это было)
Может есть какой-то вменяемый консольный клиент? Или может я что-то делаю не так и можно много удобнее все делать из консоли?
Спасибо сказали:
Kopilov
Сообщения: 958
ОС: [K]Ubuntu, Debian

Re: Как удобно использовать sftp?

Сообщение Kopilov »

storm2005 писал(а):
25.02.2016 20:53
каталог забитый sh скриптами

storm2005 писал(а):
25.02.2016 20:53
winscp

Так Вам под Windows или под Linux?
Чтобы не вводить пароль к ключу каждый раз есть ssh-agent.
Лучшими двухпанельными файловыми менеджерами всегда были MC и Far, sftp они поддерживают. Только копируя "визуально с сервера на сервер" Вы гоните трафик сперва из интернета на десктоп, а потом обратно. Лучше зайти на один сервер, запустить MC там, открыть подключение ко второму серверу и скопировать (а ещё лучше, если копируете регулярно одно и то же, завернуть это в скрипт с вызовом scp).
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21473
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как удобно использовать sftp?

Сообщение Bizdelnick »

storm2005 писал(а):
25.02.2016 20:53
вводить пароль на ключ

На то есть ssh-agent, как уже сказали выше, и всякие приблуды для его запуска типа keychain.

По поводу остального — совершенно не понял, чего Вы хотите (графика/консоль, linux/windows?), но очень может быть, что не хватает Вам обычного файлового менеджера. Если я правильно помню, dolphin, nautilus, mc и многие другие (включая даже андроидский ghost commander) прекрасно работают с sftp.

P. S. Лично мне как правило достаточно scp и rsync.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
storm2005
Сообщения: 136

Re: Как удобно использовать sftp?

Сообщение storm2005 »

Поясню более подробно чего я хочу.
1. работаю под OpenSuse 13.2.
2. winscp прекрасно работает под linux через wine. Не устраивает, то, что я в одном окне не могу открыть подключение сразу к двум серверам. То есть можно открыть клиент-сервер одну вкладку и клиент-сервер вторую вкладку. Это неудобно. Мне нужно сервер-сервер.
3. Гонять трафик через клиента меня совсем не смущает. Так как в основном это мелочь типа скопипастить с одного сервера на другой скрипт или конфиг. Главное, чтобы я не копировал руками вначале на свой комп, а потом с него на другой сервер.
4. Да было бы здорово если бы mc нормально работал бы с удаленными файловыми системами. Но этого с точки зрения удобства он не делает. Можно без проблем подключиться по sftp или чему-то другому к серверу. Но как сделать удобный список серверв в mc, чтобы каждый раз не вводить его заново?
5. Само собой чтобы не запрашивался пароль на ключ при коннекте по sftp.
6. Я могу вам показать на примере того-же ssh как нужно работать правильно с точки зрения, например, графического приложения. Пример - PAC Manager - https://sourceforge.net/projects/pacmanager/
Как раз им для работы я и пользуюсь. Это почти идеальный клиент для работы по ssh. Но к сожалению он не поддерживает "графический коннект" по sftp, а только консольный. И опять таки взаимодействие происходит клиент-сервер. А мне нужно сервер-сервер.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21473
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как удобно использовать sftp?

Сообщение Bizdelnick »

Bizdelnick писал(а):
25.02.2016 22:31
dolphin, nautilus

Пробовали?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
storm2005
Сообщения: 136

Re: Как удобно использовать sftp?

Сообщение storm2005 »

Bizdelnick писал(а):
26.02.2016 13:11
Bizdelnick писал(а):
25.02.2016 22:31
dolphin, nautilus

Пробовали?

Нет. У меня xfce. Я так понимаю там необходимо открыть два окошка и перетягивать мышкой файлики между ними?
Тут вопросы такие: можно ли там настроить интерфейс как в mc или фаре (одно окно разделенное на две панели) и есть ли возможность сохранить список серверов?
Для меня конечно было бы идеально, чтобы иерархия серверов отображалась в файловой системе и по ней можно было бы перемещаться обычным mc.
Что я собственно сейчас и делаю. Вот только проблема, как я уже отписал выше, с паролями и необходимостью для подключения к одному серверу запускать скрипт для этого сервера.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21473
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как удобно использовать sftp?

Сообщение Bizdelnick »

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

storm2005 писал(а):
26.02.2016 13:16
Я так понимаю там необходимо открыть два окошка и перетягивать мышкой файлики между ними?

Я не знаю. Никогда не пробовал. У dolphin есть двухпанельный режим, в nautilus его когда-то сделали, но потом пришли третьегномеры и всё сломали улучшили. Может быть он сохранился в caja, я не в курсе.

storm2005 писал(а):
26.02.2016 13:16
Тут вопросы такие: можно ли

Попробуйте и узнаете.

P. S. Если Вы не поняли, я Вам всего лишь подсказываю направление для поисков: пробуйте разные файловые менеджеры, не ищите чего-то специально заточенного под SFTP. Есть ещё всякие krusader, gnome commander и прочие; никогда ими не пользовался, но не исключаю, что Вам они могут подойти. А могут не подойти.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Olej
Сообщения: 659
ОС: Fedora, Mint, Debian, QNX

Re: Как удобно использовать sftp?

Сообщение Olej »

storm2005 писал(а):
26.02.2016 13:04
4. Да было бы здорово если бы mc нормально работал бы с удаленными файловыми системами. Но этого с точки зрения удобства он не делает. Можно без проблем подключиться по sftp или чему-то другому к серверу. Но как сделать удобный список серверв в mc, чтобы каждый раз не вводить его заново?

Чем вам не список?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
storm2005
Сообщения: 136

Re: Как удобно использовать sftp?

Сообщение storm2005 »

Olej писал(а):
26.02.2016 13:35
storm2005 писал(а):
26.02.2016 13:04
4. Да было бы здорово если бы mc нормально работал бы с удаленными файловыми системами. Но этого с точки зрения удобства он не делает. Можно без проблем подключиться по sftp или чему-то другому к серверу. Но как сделать удобный список серверв в mc, чтобы каждый раз не вводить его заново?

Чем вам не список?


Я работаю в tmux. Соответвенно у меня окно разделено минимум на две панели. В обоих может быть запущен mc. Что-то мне здается, что история по подключениям это совсем не то что я хочу. Начиная с того, что подключившись к серверу на одной панели история не отобразится на другой панели, продолжая тем, что список истории ограничен каким-то колличеством помещаемым на экран ну и самое главное реализацией sftp в самом mc. Она ужасна. Я захожу в каталог и mc перебирает каталоги и файлы в этом каталоге, о чем сообщает в бегущей строке снизу. В итоге в /etc я захожу секунд 30. Для сравнения sshfs работает раз в 100 быстрее. Практически не ощущается, что ты на удаленном сервере.
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Как удобно использовать sftp?

Сообщение MrClon »

Bizdelnick писал(а):
26.02.2016 13:24
Я не знаю. Никогда не пробовал. У dolphin есть двухпанельный режим, в nautilus его когда-то сделали, но потом пришли третьегномеры и всё сломали улучшили. Может быть он сохранился в caja, я не в курсе.

Есть, F3
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Как удобно использовать sftp?

Сообщение MrClon »

storm2005 писал(а):
26.02.2016 13:04
3. Гонять трафик через клиента меня совсем не смущает. Так как в основном это мелочь типа скопипастить с одного сервера на другой скрипт или конфиг. Главное, чтобы я не копировал руками вначале на свой комп, а потом с него на другой сервер.

ssh srv1
scp /etc/foo.conf srv2:./
ssh srv2
vi ./foo.conf
sudo cp ./foo.conf /etc/

Четвёртый пункт можно пропустить если конфиг не надо править. Все пункты кроме первых двух можно пропустить если ты сам себе злобных буратинка и работаешь только под рутом, или если конфиг надо действительно просто скопировать, а не положить куда надо (или если твой юзер не рут но доступ куда надо имеет).
Спасибо сказали:
storm2005
Сообщения: 136

Re: Как удобно использовать sftp?

Сообщение storm2005 »

MrClon писал(а):
26.02.2016 14:51
storm2005 писал(а):
26.02.2016 13:04
3. Гонять трафик через клиента меня совсем не смущает. Так как в основном это мелочь типа скопипастить с одного сервера на другой скрипт или конфиг. Главное, чтобы я не копировал руками вначале на свой комп, а потом с него на другой сервер.

ssh srv1
scp /etc/foo.conf srv2:./
ssh srv2
vi ./foo.conf
sudo cp ./foo.conf /etc/

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


Все отлично кроме того, что зачастую я имею дело с серверами между которыми либо не настроен доступ, либо вообще таковой отсутствует. Так что для унификации операций, да и вряде случаев просто потому что нет другого выхода, необходимо копировать через клиента, то есть мой комп. Да и серверов гораздо болше нескольких десятков. Так что набирать в консоли команды чтобы скопипастить файл локально, а потом на другой сервер просто неудобно.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21473
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как удобно использовать sftp?

Сообщение Bizdelnick »

storm2005
Если у Вас много серверов, между которыми приходится копировать один и тот же конфиг, то Вы ищете решение совсем не там. Вам, видимо, нужно средство централизованного управления конфигурациями (или, как минимум, pssh).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
storm2005
Сообщения: 136

Re: Как удобно использовать sftp?

Сообщение storm2005 »

Bizdelnick писал(а):
26.02.2016 15:40
storm2005
Если у Вас много серверов, между которыми приходится копировать один и тот же конфиг, то Вы ищете решение совсем не там. Вам, видимо, нужно средство централизованного управления конфигурациями (или, как минимум, pssh).

Серверов много, да. Но они отнють не однотипны. И надо лишь время от времени что-то перекинуть с одного сервера на другой. Казалась бы элементарная операция. Но приходится ежедневно тратить едва уловимое время на рутину, которое со временем выливается в недовольство текущим решением с кучей скриптиков на подключение по sshfs. Думал, может чего-то не знаю или кто-то это делает проще и лучше. В итоге понял, что вариант с кучей скриптиков не так уж и плох.
Кстати а настройки хостов, логинов, ключей и паролей заданные в ssh_config подхватывается sshfs?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21473
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как удобно использовать sftp?

Сообщение Bizdelnick »

storm2005 писал(а):
26.02.2016 15:49
Но они отнють не однотипны.

Я разве говорил, что они должны быть однотипны? Да, от pssh толку будет немного, но какой-нибудь ansible всё равно может облегчить жизнь.

storm2005 писал(а):
26.02.2016 15:49
настройки хостов, логинов, ключей и паролей заданные в ssh_config подхватывается sshfs?

Конечно.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Как удобно использовать sftp?

Сообщение MrClon »

storm2005 писал(а):
26.02.2016 14:58
Все отлично кроме того, что зачастую я имею дело с серверами между которыми либо не настроен доступ, либо вообще таковой отсутствует. Так что для унификации операций, да и вряде случаев просто потому что нет другого выхода, необходимо копировать через клиента, то есть мой комп. Да и серверов гораздо болше нескольких десятков. Так что набирать в консоли команды чтобы скопипастить файл локально, а потом на другой сервер просто неудобно.

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

Re: Как удобно использовать sftp?

Сообщение storm2005 »

Был занят и не было возможности попробовать то, что рекомендовали в этой теме.
Теперь руки дошли. Ну что сказать? Все печально. Кучка софтинок которые худо-бедно работают на половину от того что мне нужно.
Итак что получилось.
1. Прописать в конфиге ssh - /home/user/.ssh

Код: Выделить всё

Host host1
     HostName 192.168.1.1
     ServerAliveInterval 15
     User root
     IdentityFile /home/user/.ssh/id_rsa


Host host2
     HostName 170.16.1.1
     ServerAliveInterval 15
     User root
     IdentityFile /home/user/.ssh/id_rsa


2. ssh-add добавляем ключ при запуске. Это делаем при помощи костыля на expect

Код: Выделить всё

#!/usr/bin/expect -f
spawn ssh-add /home/user/.ssh/id_rsa
expect "Enter passphrase for /home/user/.ssh/id_rsa:"
send "PASSWORD\n";
interact


Безопасность хромает ну и фиг с ней, так как скрипт с паролем на зашифрованном томе.

Теперь в каталоге у меня скрипты такого типа

Код: Выделить всё

#!/bin/sh
sshfs host1:/ /mnt/sshfs/host1


То есть чтобы полключить все рано надо жмакать на sh скрипт.

Что не получилось? При заходе в каталог не производится автомонитрование. Ни одна софтина этого сделать нормально не может.
Некоторые попросту не поддерживают функционал работы с ssh конфигом и ssh-agent, как например autofs. Другие вроде как поддерживают, но настроить это безобразие не получается.
Что пробовал?
systemd - https://wiki.archlinux.org/index.php/sshfs#On_demand
afuse
autofs
https://github.com/hellekin/autosshfs
incron
Если у кого есть успешный опыт монтирование удаленной шары по sshfs с использование ключа с паролем буду признателен за рабочий пример.
Спасибо сказали: