macOS SierraにおけるSFTP接続エラーについて

MacOS Sierraでは搭載されているOpenSSHがアップデートされました。そしてTransmit 4はSFTPサーバーへの接続にこのOpenSSHを使用しています。そしてmacOS Sierraに搭載のOpenSSHではいくつかの機能が利用不可になっており、それにより接続エラーが起こる場合があります。

接続時、“ホスト鍵が見つかりません” のようなエラーメッセージが表示された場合はSSH設定を見直す必要があるかも知れません。以下のようなエラーメッセージが現れる場合もあります:

“Unable to negotiate with host.example.org port 22: no matching host key type found. Their offer: ssh-dss”.

詳細なエラーメッセージはトランスクリプトログから確認することも可能です。(*ウインドウ*メニューから*トランスクリプト*を選択します。)

DSA鍵はもはやセキュアとは言い切れません

SSH接続の鍵認証プロセスでは、サーバーとクライアントがそれぞれのアイデンティティを証明する必要があります。

macOS Sierraではデフォルトで、DSA鍵が無効化されています詳しい情報はこちら

ECDSA, ED25519 および RSA (2048-bit以上)がセキュアとみなされます。

セキュアな鍵ファイルを改めて生成する

エラーメッセージが表示される場合は、新しいセキュアな鍵ファイルを生成し、インストールしてください。互換性を保持するために、ECDSA もしくは RSA 形式を推奨します。

ECDSA形式

ECDSA鍵を生成するには、ターミナルウインドウから下記のコマンドを入力します:

ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa -b 521

RSA形式

RSA鍵を生成するには、下記のコマンドを入力します:

ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa -b 4096

ワケあってDSA鍵を使用しなければならない場合

サーバーのホスト鍵を再生成することを強くお勧めします。管理者権限がなく、ご自身で行えない場合はサーバー管理者に新しい鍵の生成についてお勧めください。サーバー管理者と連絡が行えないなど、止むを得ずDSA鍵を利用する場合は~/.ssh/configファイルをエディタで開き、下記を追記してください:

Host host.example.org
	HostKeyAlgorithms +ssh-dss

その他詳しい情報は OpenSSH legacy をご参照ください。