Как видеть файлы на сервере и на моем ПК при соединении по SSH?

Главные вкладки

Аватар пользователя VasyOK VasyOK 25 января 2022 в 20:51

Есть файл:
~/.ssh/id_rs
Для соединения с сервером вбиваю в КС:
ssh -l username Ц.И.Ф.Е.Р.К.И
выдает
Enter passphrase for key '/home/alex/.ssh/id_rsa': ВВОЖУ_ФРАЗУ
происходит соединение

2й способ.
Есть файл
~/.ssh/config:

Host bm
    HostName Ц.И.Ф.Е.Р.К.И
    User username
    IdentityFile ~/.ssh/id_rsa

вбиваю
ssh -v bm
выдает
Enter passphrase for key '/home/alex/.ssh/id_rsa': ВВОЖУ_ФРАЗУ
тоже происходит соединение

Вопрос: как на одной панели в midnight commander видеть файлы на сервере, а на другой - файлы на моем ПК? Можно и без MC, но чтобы было видно и сервер и мой ПК.

Комментарии

Аватар пользователя nzytsprim nzytsprim 25 января 2022 в 23:45

Если непременно использовать MC, то так: https://blog.zmole.ro/how-to-use-your-ssh-key-to-connect-remotely-from-m...
Или просто смонтировать в /home/user/remote_host примерно так: https://bozza.ru/art-253.html
Или монтировать через файл-менеджер DE. Например в dolphin

Аватар пользователя bsyomov bsyomov 26 января 2022 в 1:23

Если mc запущен на удалённой машине - как-то просто никак(ну или делать обратное подключение через sftp, если есть такая возможность).
Если это локальный mc, то без проблем - во второй вкладке открыть sftp или shell link. (f9 - right - sftp link).

А вообще, вероятно, просто нужен любой sftp клиент с GUI. Например, filezilla.

Аватар пользователя VasyOK VasyOK 26 января 2022 в 1:40

Через любой файловый менеджер, но чтоб можно было копировать файлы туда сюда.
Проблема в том что нужно соединится, не по паролю, а по ключу, лежащему в ~/.ssh/ для которого вводится passphrase.

Аватар пользователя bsyomov bsyomov 26 января 2022 в 2:43

Это можно сделать почти в любом sftp клиенте, в общем-то, в частности, в том же filezilla, указав в настройках авторизацию по ключу.

В случае использования mc, надо использовать shell link, тогда будет использоваться инфраструктура openssh(~/.ssh/config или ssh agent, в частности для ключей). Ну и это должен быть mc запущенный локально, соответственно - не надо подключаться по ssh на сервер и там его запускать.

Аватар пользователя VasyOK VasyOK 26 января 2022 в 3:02

В mc выбираю shell link, ввожу username@Ц.И.Ф.Е.Р.К.И,
запрашивает passphrase, ввожу и попадаю в никуда.
Т.е. оно открывает, но непонятно что.

Аватар пользователя bsyomov bsyomov 26 января 2022 в 13:58

Что значит в никуда? Попадаешь ты в корень файловой системы на удалённом сервере, практически наверняка.
Дальше надо просто знать, что ты хочешь делать и куда тебе надо.

Аватар пользователя nzytsprim nzytsprim 26 января 2022 в 5:36

Зачем усложняете? У Вас в ~/.ssh/config уже алиас, пользователь и расположение ключа прописаны, не нужны циферки.
Войти на удаленный хост: ssh bm , ввели пароль, попали в /home/username. Проверили - pwd, посмотрели, что есть - ls -la , или установили mc, отсоединились - exit
На локальном ПК создаете каталог: mkdir /home/alex/bm
Монтируете каталог с удаленного хоста к себе, вводите пароль:
sshfs bm:/home/username/ /home/alex/bm/
Запускаете на локальной машине любой файл-менеджер, копируете туда-сюда, редактируете и сохраняете файлы непосредственно на удаленном хосте.
Закончили работу, отмонтировали - umount /home/alex/bm/

Если у пользователя username нет доступа к нужным Вам файлам, смотрим на удаленном хосте - у кого есть, например admin. Сразу проверяем в /etc/ssh/sshd_config на сервере, есть ли у admin доступ по ssh, нет - дописываем и перезапускаем демон sudo systemctl restart sshd
На локальном ПК правим ~/.ssh/config , вместо User username будет User admin

Вообще, пароли на ключи не нужны, только мешают при автоматизации. Здесь https://habr.com/ru/post/435270/ про атаку на ключи и один и способов их хранения.

Аватар пользователя bsyomov bsyomov 26 января 2022 в 14:03

Чем sshfs проще, чем sftp клиент или shell link в mc?

Пароли на ключи полезны, если это ключи root доступом куда-нибудь. А для автоматизации, обычно, делают отдельные ключи для пользователей с ограниченными правами.

Аватар пользователя nzytsprim nzytsprim 26 января 2022 в 17:19

Чем sshfs проще, чем sftp клиент или shell link в mc?

Так назначение разное. Если надо только файлы туда-сюда гонять, то sftp достаточно. Нужно больше - ssfs. Для прикладного ПО обращение к файлам абсолютно прозрачно, никаких сетевых путей и авторизаций.

Пароли на ключи полезны, если это ключи root доступом куда-нибудь...

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

Аватар пользователя bsyomov bsyomov 26 января 2022 в 18:16

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

И чем же, вдруг, хуже использовать встроенный механизм шифрования ключа, чем зашифрованный раздел или внешние средства какие-то? Кстати, ssh agent интегрируется с разными gnome-keyring, keepass и массой других решений. Пароли совсем не обязательно запоминать уж прямо пачками чтобы с этим работать.

Ну и проблема топикстартера не в авторизации, а в непонимании как работает ssh/sftp и конкретные их реализации больше.
И надо ему было, вроде, просто иметь доступ к локальным и удалённым файлам в файловом менеджере, и тут sftp клиент с ui, или тот же консольный mc который это умеет, вполне достаточны.

Аватар пользователя nzytsprim nzytsprim 26 января 2022 в 21:29

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

Выше приводил ссылку на статью, там keepassxc для хранения ключей применяется. Здесь: https://habr.com/ru/company/wirex/blog/419829/ более развернуто про уязвимость. В том числе, про модификацию парольной фразы по определенному алгоритму.

И надо ему было, вроде, просто иметь доступ к локальным и удалённым файлам в файловом менеджере...

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

Аватар пользователя bsyomov bsyomov 27 января 2022 в 0:28

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

Аватар пользователя bsyomov bsyomov 26 января 2022 в 14:00

Если именно sftp link, то не будет авторизации по ключу и использования настроек из ~/.ssh/config. А в shell link будет.

Аватар пользователя voviko voviko 26 января 2022 в 20:07

вот не пользуюсь, но решил проверить. И работает.
обычно я закидываю публичный ключ на сервер, и не парюсь с паролями.
1. ssh-copy-id -i id_rsa.pub user@host
2. вводим sftp локально в правой колонке user@host

Аватар пользователя VasyOK VasyOK 27 января 2022 в 1:42

Друзья, спасибо за поддержку.

Filezilla имеющийся ключ жрать не хочет. Конвертацию ключа пробовал не помогло. Собственно Filezill-ой мне хочется пользоваться в последнюю очередь.

Вариант с сетевой папкой не прошел. После подключения показывает пустоту. Точно так же не получилось через монтирование. Чето монтирует но в итоговой папке - ничего нет. И через shell link в mc - тоже самое - показывает пустоту. Не знаю как это более грамотно сформулировать.

Вышло просто в Dolphin ввести sftp://username@Ц.И.Ф.Е.Р.К.И - тогда все заработало. Подсказали на ЛОР-е. Меня этот вариант полностью устраивает.

Аватар пользователя nzytsprim nzytsprim 27 января 2022 в 3:09

Шурик, это же не наш метод! Хорошо, что получилось. В принципе, самое сложное Вы сами сделали, а остановились в одном шаге. Посмотрите еще раз материалы по правам пользователей и групп, ssh/sftp/sshfs, про монтирование разделов. Это даже вечера на займет, и в 99% случаев даже вопросов не возникнет. Так-то, файл-менеджер кроме обзора и таскания файлов больше ни для чего не использую, а там вон чего накрутили.
Пока Bsyomov не слышит, уберите пароль с ключа ))
mv /home/alex/.ssh/id_rsa /home/alex/.ssh/id_rsa_pass
openssl rsa -in /home/alex/.ssh/id_rsa_pass /home/alex/.ssh/id_rsa

Аватар пользователя VasyOK VasyOK 29 января 2022 в 0:34

Вряд-ли я где-то пароль засветил. Монитровать у меня получается, но вот только не этот сервер. Так что буду обходится чем есть.