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 をご参照ください。