web-dev-qa-db-ja.com

UbuntuのFilezillaまたはWinSCPの代替

Windowsでは、Fileshillaを使用して、sshキーを使用しながら、sftpを介してWordPress Webサイトにファイルをアップロード/ダウンロードしています。

現在、Linuxは私の主要なオペレーティングシステムです。先月、FileZillaクライアントはUbuntu 16.04で正常に動作していましたが、今では起動するたびにクラッシュします。インターネットで検索したところ、多くのユーザーで起こっていることがわかりました。残念ながら、FileZillaのサポートには、尋ねると1つの答えしかありません。

Ubuntu 16.04は古いOSです。17.10またはDebian最新バージョンを使用してください。

17.10。を使用したくありません。そこで、Linux用のFileZillaクライアントの代替を探しています。これは、sshキーを使用してsftpクライアントとして使用できます。

GFTP(古いプログラムですが、どれだけ安全かはわかりません)を見つけました。また、Ubuntuファイルマネージャーを使用してサーバーに接続できることもわかりました。 NautilusまたはCajaを使用中にサーバーに接続するのは良い考えですか?

実際、[ファイル]> [サーバーに接続]をクリックしたときに表示されるダイアログボックスにユーザー名/パスワードを入れたくないので、代わりに.ppkキーを使用します。 NautilusまたはCajaに追加するにはどうすればよいですか?

12
ShahMoeen

Nautilusの使用

次の図に示すように、NautilusでConnect to Serverオプションを使用できます。

enter image description here

  • マウントされたディレクトリへのコマンドラインパスを見つける必要がある場合は、ここに示されているアプローチのいずれかを使用します。 ftpネットワーク接続へのCLIパス
  1. 最初の例-sftp://victoria-pass/home/tri-はvictoria-passと呼ばれる事前定義済みHostを使用し、triと呼ばれるhome/ディレクトリをマウントします。

    このアプローチを使用するには、ローカル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. 2番目の例-sftp://[email protected]:1111/home/tri-は、事前定義された~/.ssh/configファイルをカスタムsshポートで使用せずにリモートssh(sftp)サーバーに接続する方法を示します。

    このアプローチの主な短所は、認証ファイルが~/.ssh/id_rsaでない場合、コマンドssh-addで事前に提供する必要があるということです。たとえば、認証ファイルの名前がfile.pemの場合:

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

    ローカルマシンを再起動するたびにこれを行うか、~/.profileファイルに上記のコマンドを含める必要があると思います。


Usung gFTP

SSHキーを使用するようにgFTPをセットアップする手順は次のとおりです。

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. ターゲットHost名、またはIPアドレスを入力します;

  6. ターゲットマシンのSSHPortをセットアップします(デフォルトでない場合-22)。

  7. SSH接続のUserを入力します。

  8. SSHキーのPassphrase(ある場合)を入力します。

  9. ヒット Enter


SSHFSを使用する

コマンドラインツールsshfsを使用して、リモートディレクトリ(またはファイルシステム全体)をマウントできます。その後、必要に応じて「ローカル」に操作できます。これは私の望ましい方法です。マウントディレクトリが~/mountであり、リモートユーザーのホームディレクトリをマウントするとします。

sshfs [email protected]:/home/<user> /home/<local-user>/mount/

または、~/.ssh/configファイルを作成した場合:

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

さらに、/etc/fstabエントリも作成できます-参照:


PPKキーを変換する

以前にPPKキー、つまりPuTTY Private Keyを使用したことがある場合は、変換する必要があることに注意してくださいCloneZilla、上記のツールはこの形式を読み取ることができません。この目的のために、パッケージPuTTY-toolsの一部であるputtygenツールを使用する必要があります。

Sudo apt install PuTTY-tools

これで、次の方法でキーを変換できます。

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

このメモについて @ steeldriver に感謝します。ここにソースといくつかの追加リファレンスがあります:


セキュリティによると

すべてのアプローチは同じ接続方法-SSH-を使用しますが、それらが提供するセキュリティは同等である必要があります。 ウィキペディアから

Secure Shell(SSH)は、セキュリティで保護されていないネットワーク上でネットワークサービスを安全に運用するための暗号化ネットワークプロトコルです...

SSHで使用される暗号化は、インターネットなどのセキュリティで保護されていないネットワーク上でデータの機密性と整合性を提供することを目的としています...

1つの方法は、自動的に生成された公開鍵と秘密鍵のペアを使用して単純にネットワーク接続を暗号化し、パスワード認証を使用してログオンすることです...

もう1つの方法は、手動で生成された公開キーと秘密キーのペアを使用して認証を実行し、ユーザーまたはプログラムがパスワードを指定せずにログインできるようにすることです。このシナリオでは、だれでも異なるキーのペアを作成できます(パブリックおよびプライベート)...

13
pa4080