Альтернатива Filezilla или WinSCP для Ubuntu

12

В 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?

ShahMoeen
источник
Я просто хочу еще больше прояснить свой вопрос. На самом деле я не хочу помещать свое имя пользователя / пароль в диалоговое окно, которое появляется, когда я нажимаю Файл> Подключиться к серверу, вместо этого я хочу использовать ключ .ppk. Как я могу добавить это в Nautilus или Caja?
ShahMoeen
1
Что не так с версией в репо 16.04?
RonJohn
2
Это ветка Ubuntu, а не разработчики Filezilla, которые поддерживают ветку Filezilla для 16.04, поэтому вполне естественно, что разработчики Filezilla просто скажут вам обновить, потому что они не несут ответственности за поведение версии в Ubuntu 16.04. Попробуйте открыть Filezilla из окна терминала, чтобы в случае его сбоя вы могли получить сообщение об ошибке или трассировку в консоли, затем сравните его с существующими зарегистрированными ошибками в Filezilla и, если появилось новое, создайте новый отчет.
Томасруттер
2
чудо, как Ubuntu удобно тормозит старые версии, заставляя ppl обновляться; но это то, что вы получаете, имея кровоточащий / нестабильный, вы получаете удар головой с бейсбольной битой каждые 6 месяцев ...; попробуйте понизить файлзила
user688056

Ответы:

14

Используя Наутилус

Вы можете использовать эту опцию Connect to Serverв Nautilus, как показано на следующем изображении.

введите описание изображения здесь

  • Если вам нужно найти путь командной строки к смонтированному каталогу, используйте один из представленных здесь подходов: CLI-путь к сетевому соединению ftp .
  1. Первый пример - sftp://victoria-pass/home/triиспользует предопределенный вызываемый хостvictoria-pass и монтирует home/каталог удаленного вызываемого пользователя tri.

    Чтобы использовать этот подход, вы должны создать файл конфигурации пользователя для локального клиента ssh. Файл должен быть назван configи помещен в каталоге .ssh/в доме пользователя: ~/.ssh/config. Согласно примеру содержимое файла должно быть:

    Host victoria-pass             # this is as 'nickname' of the connection
        HostName victoria.org      # or use the IP address
        IdentityFile ~/.ssh/id_rsa # or provide the fill path to another key
        User tri                   # use the actual name of the remote user
        Port 1111                  # provide the actual port of the remote server
        # other parameters...
    
    # setup each another Host in the same way...        

    Измените права доступа к файлу:

    chmod 600 ~/.ssh/config
    

    Кроме того, теперь вы сможете подключиться к каждому из этих хостов с помощью команды:

    ssh victoria-pass
    
  2. Второй пример - sftp://tri@victoria.org:1111/home/triпоказывает, как подключиться к удаленному серверу ssh (sftp) без использования предопределенного ~/.ssh/configфайла с пользовательским портом ssh.

    Основными недостатками этого подхода является то, что если файл аутентификации отсутствует, ~/.ssh/id_rsaвы должны предоставить его заранее с помощью команды ssh-add. Например, если файл аутентификации называется file.pem:

    ssh-add /full/path/to/the/authentication/file.pem 
    

    Я думаю, что вы должны делать это каждый раз, когда вы перезагружаете локальную машину, или вы должны включить вышеупомянутую команду в ~/.profileфайл.


Usung gFTP

Ниже приведены инструкции по настройке gFTP для использования ключей SSH.

введите описание изображения здесь

  1. В меню FTP нажмите « Настройки» ;

  2. Перейти на вкладку SSH ;

  3. Заполните поле Дополнительные параметры SSH этим значением:

    -o IdentityFile=/home/<your user>/.ssh/id_rsa
    

    Измените <user name>свое реальное имя пользователя . Или используйте:

    -o IdentityFile=~/.ssh/id_rsa
    
  4. В главном окне gFTP выберите SSH2 в качестве типа соединения;

  5. Введите имя целевого хоста или IP- адрес;

  6. Настройте SSH- порт целевой машины (если он не по умолчанию - 22);

  7. Введите User для подключения SSH;

  8. Введите ваш SSH ключ Pass фразу (если есть);

  9. Хит Enter.


Использование SSHFS

Вы можете смонтировать удаленный каталог (или всю файловую систему) с помощью инструмента командной строки sshfs. Тогда вы можете манипулировать им «локально», как вы хотите. Это мой предпочтительный путь. Давайте предположим, что каталог монтирования есть, ~/mountа вы хотите смонтировать домашний каталог удаленного пользователя:

sshfs user@host.name.or.ip:/home/<user> /home/<local-user>/mount/

Или, если вы создали ~/.ssh/configфайл:

sshfs host-name:/home/<remote-user> /home/<local-user>/mount/

Кроме того, вы можете создать также /etc/fstabзапись - ссылки:


Конвертировать ключ PPK

Обратите внимание, что если вы ранее использовали ключ PPK , что означает закрытый ключ PuTTY , его следует преобразовать, поскольку, в отличие от CloneZilla, вышеуказанные инструменты не могут прочитать этот формат. Для этого вам следует использовать инструмент puttygen, входящий в состав пакета putty-tools:

sudo apt install putty-tools

Теперь вы можете преобразовать ключ следующим образом:

puttygen input-key-filename.ppk -O private-openssh -o output-key-filename.pem

Спасибо @steeldriver за эту заметку. Вот источник и несколько дополнительных ссылок:


Согласно безопасности

В то время как все подходы используют один и тот же метод соединения - SSH - безопасность, которую они обеспечивают, должна быть эквивалентной. Из Википедии :

Secure Shell (SSH) - это криптографический сетевой протокол для безопасной работы сетевых служб в незащищенной сети ... SSH обеспечивает безопасный канал через незащищенную сеть в архитектуре клиент-сервер, соединяя клиентское приложение SSH с сервером SSH ...

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

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

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

pa4080
источник
Спасибо за ваш ответ. на самом деле я не хочу помещать свое имя пользователя / пароль в диалоговое окно, которое появляется, когда я нажимаю Файл> Подключиться к серверу, вместо этого я хочу использовать ключ .ppk. Как я могу добавить это в Nautilus или Caja?
ShahMoeen
@ ShahMoeen, я сделал.
pa4080
2
@ShahMoeen, пожалуйста, смотрите Как конвертировать Filezilla PPK в openssh sftp-совместимый ключ . В качестве альтернативы, если у вас все еще есть доступ к Windows, Как преобразовать .ppk PuTTY в ключ SSH
steeldriver
Спасибо @ pa4080 за ваш добрый и подробный ответ. Я сделал каждый шаг, который вы спрашиваете с gFTP, но, к сожалению, это не сработало. На главном экране gFTP после ввода сведений о хосте, порте и пользователе, когда я нажимаю клавишу ввода, он начал подключаться, но это никогда не заканчивается, снизу я вижу, что он останавливается на «Инициализация протокола»
ShahMoeen
@steeldriver большое спасибо, наконец я сделал это с помощью gFTP. Спасибо всем за вашу помощь, кстати, вы, люди, дайте мне знать, какой метод вы используете и почему?
ShahMoeen