Ruby の net-sftp を使用したパスフレーズ キーベースの認証
概要
Ruby の net-sftp によるキーベースの認証という質問に基づいて、次を使用してキーベースの認証で SFTP できます。
Net::SFTP.start(host, "user", keys:['~/.ssh/my_key']) do |sftp|
sftp.upload! "/local/file.tgz", "/remote/file.tgz"
end
しかし、パスフレーズを必要とするキーに対してこれを機能させることはできません。そのホスト上でユーザーのログインを求めるプロンプトが表示されるだけです。キーのパスフレーズを入力するために渡すものが足りないのでしょうか?それとも、これには ssh-agent を使用する必要がありますか?
解決策
パスフレーズ オプションがあります。
パスフレーズを指定しない場合は、non_interactive オプションを使用しない限り、パスフレーズの入力を求められます。