
私は、ジェンキンスを介して安全に Windows マシンから別のマシンにファイルをコピーする必要がある小さなプロジェクトに取り組んでいます。ジェンキンスの SSH プラグイン経由での公開について聞いたことがあります。それを設定しようとしましたが、うまくいきませんでした。誰かそれを試して助けてくれましたか? 解決するために、両方の Windows サーバーに Cygwin で OpenSSH をインストールし、ファイルをコピー (SCP 経由) するか、または両方のホストを Linux の方法で Cygwin 経由で接続 (SSH 経由) しようとしましたが、常に次のエラーが発生します -
ssh 3612 tty_list::allocate_tty: ttyが割り当てられていないか、
scp 2680 tty_list::allocate_tty: ttyが割り当てられていません
助けてください!
答え1
Jenkins ジョブ構成で、SSH 経由で送信するための「pty で実行」チェックボックスが設定されていますか?
疑似ttyでコマンドを実行する
これにより、tty を必要とする sudo コマンドの実行が可能になります (他のシナリオでも役立つ可能性があります)。sudoers(5) のマニュアル ページから:
requiretty 設定されている場合、sudo はユーザーが実際の tty にログインしている場合にのみ実行されます。このフラグが設定されている場合、sudo はログイン セッションからのみ実行でき、cron(8) や cgi-bin スクリプトなどの他の手段では実行できません。このフラグはデフォルトではオフになっています。