AWS EC2 Centos 7 VM で Jenkins スレーブジョブを実行できません.

AWS EC2 Centos 7 VM で Jenkins スレーブジョブを実行できません.

私のJenkinsマスターサーバーはローカルで実行しており、スレーブサーバーはAWSで実行しています。 Centos 7 EC2 仮想マシンです。

Jenkinsがscpを介してSlave.jarファイルをプッシュしようとすると、次のエラーメッセージで失敗します。

    java.io.IOException: Could not open channel (state:4)
    at com.trilead.ssh2.channel.ChannelManager.ioException(ChannelManager.java:1543)
    at com.trilead.ssh2.channel.ChannelManager.waitUntilChannelOpen(ChannelManager.java:122)
    at com.trilead.ssh2.channel.ChannelManager.openSessionChannel(ChannelManager.java:574)
    at com.trilead.ssh2.Session.<init>(Session.java:42)
    at com.trilead.ssh2.Connection.openSession(Connection.java:1145)
    at com.trilead.ssh2.SFTPv3Client.<init>(SFTPv3Client.java:99)
    at com.trilead.ssh2.SFTPv3Client.<init>(SFTPv3Client.java:119)
    at hudson.plugins.sshslaves.SFTPClient.<init>(SFTPClient.java:43)
    at hudson.plugins.sshslaves.SSHLauncher.copySlaveJar(SSHLauncher.java:1138)
    at hudson.plugins.sshslaves.SSHLauncher.access$400(SSHLauncher.java:148)
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:833)
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:810)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: The server refused to open the channel (SSH_OPEN_ADMINISTRATIVELY_PROHIBITED, 'open failed')
    at com.trilead.ssh2.channel.Channel.setReasonClosed(Channel.java:331)
    at com.trilead.ssh2.channel.ChannelManager.msgChannelOpenFailure(ChannelManager.java:1392)
    at com.trilead.ssh2.channel.ChannelManager.handleMessage(ChannelManager.java:1484)
    at com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:809)
    at com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:502)
    ... 1 more
java.io.IOException: Could not copy slave.jar into '/home/nutanix' on slave
    at hudson.plugins.sshslaves.SSHLauncher.copySlaveJarUsingSCP(SSHLauncher.java:1222)
    at hudson.plugins.sshslaves.SSHLauncher.copySlaveJar(SSHLauncher.java:1183)
    at hudson.plugins.sshslaves.SSHLauncher.access$400(SSHLauncher.java:148)
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:833)
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:810)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Could not open channel (state:4)
    at com.trilead.ssh2.channel.ChannelManager.ioException(ChannelManager.java:1543)
    at com.trilead.ssh2.channel.ChannelManager.waitUntilChannelOpen(ChannelManager.java:122)
    at com.trilead.ssh2.channel.ChannelManager.openSessionChannel(ChannelManager.java:574)
    at com.trilead.ssh2.Session.<init>(Session.java:42)
    at com.trilead.ssh2.Connection.openSession(Connection.java:1145)
    at com.trilead.ssh2.Connection.exec(Connection.java:1566)
    at hudson.plugins.sshslaves.SSHLauncher.copySlaveJarUsingSCP(SSHLauncher.java:1216)
    ... 8 more
Caused by: java.io.IOException: The server refused to open the channel (SSH_OPEN_ADMINISTRATIVELY_PROHIBITED, 'open failed')

提供されるソリューションSSHトンネルエラー:「チャンネル1:オープン失敗:管理者禁止:オープン失敗」私には適していません。

ベストアンサー1

確認または解決できるいくつかの点は次のとおりです。

  1. JenkinsサーバーがSSH経由ですべてのスレーブサーバーにアクセスできることを確認するには、AWSのセキュリティグループを確認してください。すでに準備ができているようですが、確認してみる価値があります。
  2. Jenkinsサーバーにログインし、コマンドラインから直接Slaverサーバーに接続してみてください。この方法でエラーなく接続できることを確認してください。次に、接続するユーザーがJenkinsが使用したいユーザーと同じであることを確認してください。出力に「スレーブの '/home/nutanix'にSlave.jarをコピーできません」と表示されます。内部にLinux インスタンス接続に関する AWS ドキュメント、CentOSシステムのユーザー名は次のとおりです。セントース。 Jenkinsがそのユーザー名を使用するように構成されており、そのユーザーとしてログインするために必要なキーにアクセスできることを確認してください。
  3. 使用を検討してくださいAmazon EC2プラグインAWS のスレーブに接続するために使用されます。このプラグインを使用すると、ほとんどの設定が構成で完了するため、作業レベルで心配する必要はありません。さらに、スレーブは必要に応じてスピンアップおよびダウンするため、AWS コストを低く抑えることができます。

おすすめ記事