2016-10-11 25 views
1

私はリモートサーバーを持っています。
私はジェンキンスユーザーとしてサーバーに接続するためにsshを使用する場合、それは完全にJenkins SSHプラグインと通常のsshの接続の違い

ssh [email protected] 

jenkinsユーザーはパスワードの入力を求められることなく、ユーザーjbossに変更することが許可されている作品:

sudo su jboss 

これは動作します完全に、パスワードを入力する必要はありません。期待どおりのすべて。

私はジェンキンスビルドを行い、SSHプラグインを介してリモートサーバーに接続すると、接続は正常に機能します。私もテストスクリプトを実行することができます、それはまた動作します!

しかし、リモートサーバでJenkinsを通じてsudo su jbossを作成すると、動作しません。
ジェンキンスは何のエラーも投げていません。回転する円があります。 spinning circle
私は仕事をキャンセルした場合に限り、止まることはありません。

ジェンキンスでsshを実行しているときとプラグインで接続しているときの違いは何ですか? ユーザー名を変更すると接続が失われますか? (それのように見える)

答えて

1

SSH pluginsshコマンドは、SSHプロトコルの2つの完全に異なる実装提供:

  • をごsshコマンドは、おそらく
  • OpenSSHクライアントを実行しますSSHプラグインが使用していますSSHプロトコル実装の提供者JSch

私はに入っていませんだが、プラグインがJSchターミナル処理を設定する方法に問題があるか、JSchでターミナル処理に関連する問題があると思われる。 sudoの動作を破る可能性があります。

sudoは、ターミナル/ tty設定に多少の影響を受けます。例えば、 this discussionには、この問題を回避するのに役立つヒントがいくつか含まれています。

+0

Hm ok。 sudo suにできるJenkins SSHプラグインはありますか? – Joerg

+1

SSHプラグインは1つだけです。おそらく、私が与えたリンク(SSH設定ファイルを変更すること)にあるヒントを使って作業することができます。もしそうでなければ、あなたはSSHプラグインに対してバグを報告したり、あなた自身で修正しようとすることができます。 –

+0

パスワードを入力せずに(上記のように)ユーザーを切り替えることができました。私の質問は、ユーザーを変更するとsudoではなくsshがクラッシュした場合、おそらくそれは私の質問から明らかではなかった。 – Joerg