В Windows я использую FileZilla для загрузки / выгрузки файлов на моем сайте WordPress через sftp, используя ключ ssh.
Сейчас Linux - моя основная операционная система. В течение последнего месяца клиент FileZilla работал нормально на Ubuntu 16.04, но теперь он вылетает всякий раз, когда я его запускаю. Я искал в интернете и обнаружил, что это происходит со многими пользователями. К сожалению, поддержка FileZilla имеет только один ответ, если мы спросим их:
Ubuntu 16.04 - старая ОС, используйте 17.10 или последнюю версию Debian.
Я не хочу использовать 17.10. Поэтому я ищу альтернативу клиента FileZilla для Linux, которую я могу использовать в качестве клиента sftp с ключом ssh.
Я нашел gFTP (это старая программа, и я не уверен, насколько она безопасна?), Я также обнаружил, что могу использовать файловый менеджер Ubuntu для подключения к своему серверу. Это хорошая идея для подключения к серверу при использовании Nautilus или Caja?
На самом деле я не хочу помещать свое имя пользователя / пароль в диалоговое окно, которое появляется, когда я нажимаю Файл> Подключиться к серверу, вместо этого я хочу использовать свой .ppk
ключ. Как я могу добавить это в Nautilus или Caja?
Ответы:
Используя Наутилус
Вы можете использовать эту опцию
Connect to Server
в Nautilus, как показано на следующем изображении.Первый пример -
sftp://victoria-pass/home/tri
использует предопределенный вызываемый хостvictoria-pass
и монтируетhome/
каталог удаленного вызываемого пользователяtri
.Чтобы использовать этот подход, вы должны создать файл конфигурации пользователя для локального клиента ssh. Файл должен быть назван
config
и помещен в каталоге.ssh/
в доме пользователя:~/.ssh/config
. Согласно примеру содержимое файла должно быть:Измените права доступа к файлу:
Кроме того, теперь вы сможете подключиться к каждому из этих хостов с помощью команды:
Второй пример -
sftp://tri@victoria.org:1111/home/tri
показывает, как подключиться к удаленному серверу ssh (sftp) без использования предопределенного~/.ssh/config
файла с пользовательским портом ssh.Основными недостатками этого подхода является то, что если файл аутентификации отсутствует,
~/.ssh/id_rsa
вы должны предоставить его заранее с помощью командыssh-add
. Например, если файл аутентификации называетсяfile.pem
:Я думаю, что вы должны делать это каждый раз, когда вы перезагружаете локальную машину, или вы должны включить вышеупомянутую команду в
~/.profile
файл.Usung gFTP
Ниже приведены инструкции по настройке gFTP для использования ключей SSH.
В меню FTP нажмите « Настройки» ;
Перейти на вкладку SSH ;
Заполните поле Дополнительные параметры SSH этим значением:
Измените
<user name>
свое реальное имя пользователя . Или используйте:В главном окне gFTP выберите SSH2 в качестве типа соединения;
Введите имя целевого хоста или IP- адрес;
Настройте SSH- порт целевой машины (если он не по умолчанию -
22
);Введите User для подключения SSH;
Введите ваш SSH ключ Pass фразу (если есть);
Хит Enter.
Использование SSHFS
Вы можете смонтировать удаленный каталог (или всю файловую систему) с помощью инструмента командной строки
sshfs
. Тогда вы можете манипулировать им «локально», как вы хотите. Это мой предпочтительный путь. Давайте предположим, что каталог монтирования есть,~/mount
а вы хотите смонтировать домашний каталог удаленного пользователя:Или, если вы создали
~/.ssh/config
файл:Кроме того, вы можете создать также
/etc/fstab
запись - ссылки:Конвертировать ключ PPK
Обратите внимание, что если вы ранее использовали ключ PPK , что означает закрытый ключ PuTTY , его следует преобразовать, поскольку, в отличие от CloneZilla, вышеуказанные инструменты не могут прочитать этот формат. Для этого вам следует использовать инструмент
puttygen
, входящий в состав пакетаputty-tools
:Теперь вы можете преобразовать ключ следующим образом:
Спасибо @steeldriver за эту заметку. Вот источник и несколько дополнительных ссылок:
Согласно безопасности
В то время как все подходы используют один и тот же метод соединения - SSH - безопасность, которую они обеспечивают, должна быть эквивалентной. Из Википедии :
источник