○ FileZillaのインストール

・FileZillaは、クロスプラットフォームなFTP、FTPS、SFTPのクライアントです
・fedora developmentのspecファイルでrpmパッケージを作成します

・FileZilla-3.8.1は、gnutls-3.2.15以上が必要です

・サイトマネージャーでパスワードを設定すると、平文で保存されるので注意!
・~/.filezilla/sitemanager.xmlを定期的にチェックしましょう

・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:filezilla-f20.tar.gz  (http://pkgs.fedoraproject.org/cgit/filezilla.git)
:FileZilla_3.8.0_src.tar.bz2  (http://sourceforge.net/projects/filezilla/files/)

○インストール環境

:OS CentOS 6.8
:selinux disabled or permissive
:インストール先 
:作業 ~/src ~/rpmbuild
:言語 LANG=ja_JP.UTF-8
:ユーザー rootで実行

・メンテナンスの場合は一般ユーザから行います



○filezilla-3.8.0

○rpmbuildに必要な開発パッケージ

・specファイルに記述されているものです
・必要なパッケージはそのつどyumでインストールしてください

## Needed if test program is build
BuildRequires:  cppunit-devel >= 1.10.2
##
BuildRequires:  desktop-file-utils
BuildRequires:  xdg-utils
Requires:  xdg-utils

BuildRequires:  dbus-devel
BuildRequires:  gettext
BuildRequires:  gnutls-devel >= 2.8.3
BuildRequires:  libidn-devel
BuildRequires:  sqlite-devel←3.7以上を推奨
BuildRequires:  tinyxml-devel >= 2.5.3
BuildRequires:  wxGTK-devel >= 2.8.9←2.8.12以上を推奨

○必要な開発パッケージのインストール

・tinyxml-develはepelレポからwxGTK-develはextrasレポから入れます

[root@mars:~]
# yum install epel-release
# yum install --enablerepo=epel,extras tinyxml-devel wxGTK-devel

○filezillaのビルド・インストール

# cd ~/src
[root@mars:~/src]
# mkdir ~/src/filezilla

・sourceファイルをコピーします
・patchファイル(下記参照)をコピーします

# cp FileZilla_3.8.0_src.tar.bz2 ~/rpmbuild/SOURCES
# cp tlssocket-gnutls-priority.patch ~/rpmbuild/SOURCES

・specファイルをコピーします

# tar zxf filezilla-f20.tar.gz
# cp filezilla-f20/filezilla.spec ~/rpmbuild/SPECS

# cd ~/rpmbuild/SPECS
[root@mars:~/rpmbuild/SPECS]

・specファイルを修正します(下記参照)

# vi filezilla.spec

# rpmbuild -ba --clean --rmsource --define 'dist .mn' filezilla.spec
# mv filezilla.spec ~/src/filezilla
# cd ../RPMS/i686
[root@mars:~/rpmbuild/RPMS/i686]

・作成されたパッケージ
 filezilla-3.8.0-1.mn.i686.rpm

# rm *debuginfo*
# mv *.rpm ~/src/filezilla
# cd ../../SRPMS
[root@mars:~/rpmbuild/SRPMS]

・作成されたパッケージ
 filezilla-3.8.0-1.mn.src.rpm

# mv *.rpm ~/src/filezilla

・インストール

# cd ~/src/filezilla
[root@mars:~/src/filezilla]
# rpm -Uvh filezilla-3.8.0-1.mn.i686.rpm

・または

# yum localinstall filezilla-3.8.0-1.mn.i686.rpm

tlssocket-gnutls-priority.patch

・CentOS 6.x proftpd ssl/tls 接続で GnuTLS error -50 が出る場合

--- filezilla-3.8.0/src/engine/tlssocket.cpp.orig	2014-03-14 05:37:47.000000000 +0900
+++ filezilla-3.8.0/src/engine/tlssocket.cpp	2014-03-29 11:21:47.000000000 +0900
@@ -10,7 +10,7 @@
 char const ciphers[] = "SECURE256:+SECURE128:+ARCFOUR-128:-3DES-CBC:-MD5:+SIGN-ALL:-SIGN-RSA-MD5:+CTYPE-X509:-CTYPE-OPENPGP";
 #else
 // Versions before 3.1.0 cannot combine level keywords
-char const ciphers[] = "SECURE128:+ARCFOUR-128:-3DES-CBC:-MD5:+SIGN-ALL:-SIGN-RSA-MD5:+CTYPE-X509:-CTYPE-OPENPGP";
+char const ciphers[] = "SECURE256:+ARCFOUR-128:-3DES-CBC:-MD5:-SIGN-RSA-MD5:+CTYPE-X509:-CTYPE-OPENPGP";
 #endif
 
 //#define TLSDEBUG 1
 
 

:filezilla.spec

・省略

License:        GPLv2+
URL:            http://filezilla-project.org/
Source0:        http://download.filezilla-project.org/FileZilla_%{version}%{?fz_rc:-%{?fz_rc}}_src.tar.bz2
Patch0:         tlssocket-gnutls-priority.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

## Needed if autogen.sh is invoked

・省略

%prep
%setup -q -n %{name}-%{version}%{?fz_rc:-%{?fz_rc}}

# tlssocket gnutls_priority_set_direct modified
%patch0 -p1

# Run autotools if needed
# sh autoconf

・省略




○接続設定

・[パスワードを保存しない]設定をすると"Kiosk mode"になります
・"Kiosk mode"で設定しています、[通常]の接続はできません

○接続設定(FTPES)

・opensslのサーバ証明書を利用したセキュアな接続です

・filezillaを起動しサイトマネージャーを開きます
・[ファイル]→[サイトマネージャー]またはCtrl+sキー

サイトマネージャー01

[新しいサイト]をクリック→[新規サイト]が作成されるので適当な名前をつけます

[一般]を選択

 ホスト : ja.528p.com (サーバ証明書を使用するドメイン名)
 プロトコル : FTP - ファイル転送プロトコル
 暗号化 : 明示的な FTP over TLS が必要
 ログオンの種類 : パスワードを尋ねる

サイトマネージャー02

[転送設定]を選択
 転送モード : パッシブ
 
[OK]をクリック


○接続設定(SFTP)

・opensshの鍵認証を利用したセキュアな接続です
・opensshの秘密鍵をfilezilla専用鍵に変換します

・filezillaを起動しサイトマネージャーを開きます
・[ファイル]→[サイトマネージャー]またはCtrl+sキー

サイトマネージャー03

[新しいサイト]をクリック→[新規サイト]が作成されるので適当な名前をつけます

[一般]を選択

 ホスト : earth.528p.com (opensshの公開鍵を使用するドメイン名)
 プロトコル : SFTP SSH File Transefer Protcol
 ログオンの種類 : インタラクティブ

パスワード接続の場合は[パスワードを尋ねる]設定にします

○openssh秘密鍵の使用(filezillaに追加)

設定04

[編集]→[設定]→[接続]→[SFTP]を選択

[公開鍵認証]→[鍵ファイルを追加]を選択
 opensshで使用する "秘密鍵" を選択します

[鍵ファイルの変換]→[はい]

[パスワードが必要]
 opensshで設定したパスフレーズを入力します
→[了解]

[変換後の鍵ファイルの名前を選択]
 名前 : filezilla-ssh.key
 フォルダの中に保存 : (省略)
→[保存]
 
[OK]をクリック

 変換後のキーはパスフレーズで保護されないので注意します

 ~/.filezilla/filezilla.xmlに鍵ファイル名が記録されます
 ファイラーで鍵ファイルを削除したら、filezilla.xmlを修正します


・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
<Setting name="SFTP keyfiles" type="string" />
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・


○openssh秘密鍵の使用(ssh-agentを使う)

・参考 ssh-agent (openssh)

・filezillaはssh-agentをサポートしています
・ssh-addコマンドで秘密鍵を登録後、filezillaを起動します
・パスフレーズの入力には、openssh-askpassパッケージが必要です
・ログアウトするまで(sshログイン を含め)パスフレーズを要求されません
・トップパネルへカスタムランチャーとして登録しておくと便利です

:/home/user/bin/fz-ssh-agent.sh (user user 700)

#!/bin/bash

if ! ssh-add -l > /dev/null 2>&1; then
    ssh-add
fi

filezilla

○filezilla設定の保存先

:~/.filezilla/*.xml

・パスワードを設定するとsitemanager.xmlに平文で保存されるので注意して下さい
・"パスワードを尋ねる" 設定を奨めます (セッション中はパスワードを記憶します)

:~/.putty/*

・sftp接続にはfzsftpが使われます
・fzsftpコマンドはPuTTYのpsftpコンポーネントをベースにしています
・[常にこのホストを信用し、この鍵をキャッシュに加える]をチェックすると
・sshホスト認証のキーが/home/user/.putty/sshhostkeysに保存されます

○常にパスワードを尋ねる設定

設定05

[編集]→[設定]→[インターフェース]を選択

[動作]→[パスワードを保存しない]をチェックします
 
[OK]をクリック

~/.filezilla/filezilla.xmlに"Kiosk mode"が設定されます

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
<Setting name="Kiosk mode">1</Setting>
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・


○ Copyright(c) 528p.com All Rights Reserved.