FTP(ファイル転送プロトコル
ファイル転送プロトコルとは、TCPポート21がコマンド送信用に利用されます。
また、ポート20はデータストリーム用として使われることもある。しかし通常は1024以上のポートを使うことが普通。

レジスタード・ポート番号(1024 - 49151)
番号とアプリケーションの関係をIANAに登録することが可能。

ダイナミック/プライベート・ポート番号(49152 - 65535)
ユーザーが自由に利用することが可能


動作モード
FTPプロトコルはアクティブモード(ノーマルモード)とパッシブモードをサポートする。
アクティブモードはサーバ側がクライアント側に対してコネクションをオープンするモードです。
パッシブモードは、FTPクライアント側がデータコネクションを確立してサーバ側がオープンします。
つまり、社内ルータ環境やファイアウォール環境下にあるクライアントからの接続はパッシブモードを用いる方がよいと考えられる。


■図解
アクティブモード(ノーマルモード)

incloudsのブログ-FTPノーマル

  1. クライアントサーバに対するコマンドチャンネルをオープンし、サーバに2番目のポート番号を通知する。
  2. サーバが了解する。
  3. サーバはクライアントの2番目のポートに対するデータチャンネルをオープンする。
  4. クライアントが了解する。

パッシブモード
$incloudsのブログ-FTPパッシブ

  1. クライアントはサーバに対するコマンドチャンネルをオープンし、パッシブモードを要求する。
  2. サーバはデータチャンネル用のポートを割り当て、クライアントにポート番号を通知する。
  3. クライアントはサーバの2番目のポートに対するデータチャンネルをオープンする。
  4. サーバが了解する。

pkg_add ftp://ftp9.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.2-release/All/openssh-portable-5.1.p1,1.tbz


これだけでは立ち上がらないので、設定ファイルを変更する。


host keyを読み込めないというエラーが出る理由。


/usr/local/etc/以下にhost_keyがないことが原因です。
host_keyの作成の部分を参考にkeyの生成を行なって下さい。
また、プロトコルは1のみ限定です。
(例)sshd_config の中。
Protocol 1
# /usr/local/sbin/sshd Could not load host key: /usr/local/etc/ssh_host_key
host_keyの作成
ここでは、/usr/local/etc/ssh にhost_keyを生成することを前提として話を進めます。
# cd /usr/local/etc/ssh
# ssh-keygen -t rsa1 -f ssh_host_key -N ""
or
# ssh-keygen -t rsa -f ssh_host_rsa_key -N "" (version 1)
# ssh-keygen -t dsa -f ssh_host_dsa_key -N "" (version 2)