本ドキュメントについて
ISEをご利用の際には、configやreportのバックアップのため、外部レポジトリを設定しており、その際にはFTPもしくはTFTPサーバをご利用のお客様が大勢いらっしゃると思います。
しかし、レポジトリとの通信をよりセキュアにするため、SFTPによるレポジトリを設定するお客様も少なくありません。
ここで、SFTPレポジトリを設定する上で、陥りやすい問題もあるため、 本ドキュメントではSFTPレポジトリの設定方法について説明させていただきます。
※本ドキュメントはISE2.1を例に記載しているため、バージョンによってGUIの表示等が異なる場合もありますので、あらかじめご留意ください。
設定方法
1. GUIにログインし、レポジトリの設定画面を開きます
Administration > System > Maintenance > Repository
2. Addボタンを押下します
既存のレポジトリの設定があったとしても、Editではプロトコルまで変更できないため、Addにて追加編集をおこなってください
3. レポジトリの設定を行います
Repository Name | 任意の名前にしてください。 以下の例ではSFTP−SVRとしています。 |
Protocol | SFTPとしてください。 |
Server Name | SFTPサーバとなるIPアドレスまたはFQDNを指定してください。 以下の例ではsftp-server.test.local(FQDN)で指定しています。 |
Path | SFTPレポジトリとするRootディレクトリ※を指定してください。 以下の例では/home/sftp-userとしています。 |
User Name | SFTPサーバにログイン可能なユーザ名を指定してください。 以下の例ではsftp-userとしています。 |
Password | 適切なパスワードを指定してください。 |
※ここでSFTP”サーバ”とするRootパス(“/“)のみ指定は避けてください。
理由としては、ここで指定するパスはSFTP”サーバ”の絶対パスであり、SFTPユーザログイン時のHomeを起点としての相対パスでは無いからです。
一般的なサーバの設定では、SFTPユーザにRoot(“/“)に書き込み権限が与えられておらず、SFTPのPutが正常に行えなくなる可能性があります。
各項目の詳細についてはAdministrator Guide(こちら)をご参照ください。
4. Submitボタンと押下してレポジトリの設定を完了させます。
このとき、警告のダイアログが表示されますが、次項[5.]にて対応するため、ここではOKを押下して問題ありません。
5. CLIにてHOST-KEYの指定を追加します。
[3.]にて指定したServer Nameを引数として、”crypto host_key add host”コマンドを実行します。
ise/admin# crypto host_key add host sftp-server.test.local
host key fingerprint added
# Host sftp-server.test.local found: line 2 type RSA
2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx sftp-server.test.local (RSA)
ise/admin#
なお、[3.]にてServer NameがIPアドレスを指定した場合は、上記コマンドの引数もIPアドレスである必要があります。
6. レポジトリの設定について確認します。
CLIにてログインし、"show repository"コマンドを実行します。
ise/admin# show repository SFTP-SVR
hoge.txt
hoge2.txt
<SNIP>
ise/admin#
意図したディレクトリを参照していることが確認できていれば、設定完了となります。
トラブルシューティング
例1:Repositoryが参照できない(1)
以下のようなログが出力された場合、host keyの設定に起因する問題である可能性があります。
ise/admin# sh repository SFTP-SVR
% Error : Operation failed due to one of the following reasons
1. host key is not configured
2. host key is removed because of re-image
3. host key is removed from some other repository having same ip/hostname
% Please add the host key using the crypto host_key exec command
% SSH connect error
ise/admin#
GUIにて設定したRepositoryのServer Nameを確認のうえで、”crypto host_key add host”コマンドを実行して事象が解消するか確認してください。
例2:Repositoryが参照できない(2)
以下のようなログが出力された場合、レポジトリのパス設定が誤っている(存在しない、参照権限が無い)可能性があります。
ise/admin# sh repository SFTP-SVR
% Failure occurred during request
ise/admin#
GUIにて設定したPathの指定もしくは、SFTPサーバ側のディレクトリ権限をご確認ください。
例3:ファイルが転送されない
以下のログのようにレポジトリの参照はできるものの、ファイル転送が完了しない場合、レポジトリのパス設定が誤っている(更新権限が無い)可能性があります。
ise/admin# sh repository SFTP-SVR
bin
boot
<SNIP>
ise/admin#
なお、この例の場合はPathをRoot("/")ディレクトリとしているため、SFTP接続ユーザでの書込み権限が無く、ファイル転送が完了しないケースとなります。
GUIにて設定したPathの指定、もしくはSFTPサーバ側のディレクトリ権限をご確認ください。
Debugログ
Support Bunddleだけではなく、Consoleに出力されるログも問題解析につながる糸口にもなります。ファイル転送に関する問題について、まずは以下のログコマンドにて状況把握されることも有益かと存じます。
ise/admin# debug transfer 7
ise/admin#