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に追加するにはどうすればよいですか?
次の図に示すように、NautilusでConnect to Server
オプションを使用できます。
最初の例-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番目の例-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
ファイルに上記のコマンドを含める必要があると思います。
SSHキーを使用するようにgFTPをセットアップする手順は次のとおりです。
FTPメニューでPreferencesをクリックします;
SSHタブに移動します;
フィールドSSH Extra Paramsに次の値を入力します。
-o IdentityFile=/home/<your user>/.ssh/id_rsa
<user name>
を実際のユーザー名に変更します。または使用:
-o IdentityFile=~/.ssh/id_rsa
接続のタイプとしてgFTPのメインウィンドウで選択SSH2;
ターゲットHost名、またはIPアドレスを入力します;
ターゲットマシンのSSHPortをセットアップします(デフォルトでない場合-22
)。
SSH接続のUserを入力します。
SSHキーのPassphrase(ある場合)を入力します。
ヒット Enter。
コマンドラインツール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キー、つまり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つの方法は、手動で生成された公開キーと秘密キーのペアを使用して認証を実行し、ユーザーまたはプログラムがパスワードを指定せずにログインできるようにすることです。このシナリオでは、だれでも異なるキーのペアを作成できます(パブリックおよびプライベート)...