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

В 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. Как я могу добавить это в Наутилусе или Кахе?

12
задан 20 December 2017 в 07:35

1 ответ

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

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

enter image description here

  • Если необходимо найти, что путь командной строки к смонтированному каталогу использует один из подходов, представленных здесь: путь 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.

enter image description here

  1. В FTP меню нажимают на Preferences;

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

  3. Заполните поле SSH Extra Params этим значением:

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

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

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

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

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

  7. Введите Пользователя для соединения SSH;

  8. Введите Пароль своего ключа SSH (если существуют некоторые);

  9. Хит входит.


Использование 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 - безопасность, которую они обеспечивают, должно быть эквивалентным. Из Википедии:

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

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

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

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

14
ответ дан 23 November 2019 в 03:39

Другие вопросы по тегам:

Похожие вопросы: