質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Rundeck

Rundeckは、オープンソースのJava製ジョブ管理ソフトウェアです。GUIやAPIを利用してジョブの作成から実行・管理・スケジューリングを行うことができます。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

解決済

1回答

3243閲覧

RundeckでWindowsのPC同士をつなげたいが、SSH通信でエラーになる

AkiFuku

総合スコア129

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Rundeck

Rundeckは、オープンソースのJava製ジョブ管理ソフトウェアです。GUIやAPIを利用してジョブの作成から実行・管理・スケジューリングを行うことができます。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

0クリップ

投稿2021/06/14 06:22

前提・実現したいこと

Windows 10のPCからRundeckを用いて、Windows Server 2019(AWSのEC2インスタンス)上でジョブを実行しようとしています。
RundeckはChocolateyを使用して最新版をインストールし、ローカルPC(Windows10)上でのジョブの実行ができることを確認しています。
Windows Server 2019ではOpenSSHをインストールし、Windows10のPCから、PowerShell上でSSH接続(公開鍵接続)が出来ることを確認しています。

発生している問題・エラーメッセージ

プロジェクトtest222上でノードにWindowsServer2019(ノード名:winnode2019)を指定し、コマンドecho %time%を実行すると以下の3つのエラーが出ます。

Failed to read SSH Private key stored at path: keys/rundeck/id_rsa: org.rundeck.storage.api.StorageException: Converter Plugin builtin:ssh-storage threw exception during READ: null
Failed: ConfigurationFailure: Failed to read SSH Private key stored at path: keys/rundeck/id_rsa
Execution failed: 417 in project test2: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [winnode2019: ConfigurationFailure: Failed to read SSH Private key stored at path: keys/rundeck/id_rsa + {dataContext=MultiDataContextImpl(map={}, base=null)} ]}, Node failures: {winnode2019=[ConfigurationFailure: Failed to read SSH Private key stored at path: keys/rundeck/id_rsa + {dataContext=MultiDataContextImpl(map={}, base=null)} ]}, status: failed]

該当のソースコード

C:\rundeck\projects\<PROJECTNAME>\etc\resource.xmlを以下のように設定しています。<>書きの欄は実際の入力内容を伏せている部分です。

XML

1<?xml version="1.0" encoding="UTF-8"?> 2 3<project> 4 <node name=<localhost> 5 description="Rundeck server node" 6 tags="" 7 hostname=<HOSTNAME> 8 osArch="amd64" 9 osFamily="windows" 10 osName="Windows 10" 11 osVersion="10.0" 12 username=<USERNAME> 13 /> 14 <node name="winnode2019" 15 osFamily="windows" 16 username="Administrator" 17 hostname=<Elastic IP> 18 osArch="amd64" 19 ssh-authentication="privateKey" 20 ssh-key-storage-path="keys/rundeck/id_rsa" 21 /> 22</project>

秘密鍵はC:\rundeck\var\storage\content\keys\rundeck\id_rsaに配置しており、PowerShell上で
ssh Administrator@<Elastic IP> -i C:\rundeck\var\storage\content\keys\rundeck\id_rsa
として、鍵を指定してSSH実行すると接続できる状態です。

また、作成した秘密鍵はRundeckのGUI(Key Strage)からも存在が確認できる状態です。

試したこと

  • セキュリティグループの確認

 接続先EC2インスタンスのセキュリティグループ(インバウンドルール)において、ポート22を全てのアドレスからの受信OKとしています

  • ファイアウォールの確認

 接続先EC2インスタンスのファイアウォール設定において、ポート22の受信規則を「接続を許可する」にしています

  • privateKeyの配置場所の確認

 配置場所は上記のパスです

  • privateKeyのセキュリティ設定の確認

 公開鍵認証をしようとすると「too open」という警告が出たため、
この鍵へのアクセスは「SYSTEM」とログインユーザのみにしています。

補足情報(FW/ツールのバージョンなど)

  • Rundeckサーバ

OS:Windows10
Rundeck:3.3.12

  • 接続先

OS:Windows Server 2019

エラーメッセージを読む限りは秘密鍵の設定が間違っているようなのですが、Windows向けの情報があまり出てこず、困っています。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

キーの指定のとこにフルパス書いたらどうなるでしょうか


Rundeck 3 で SSH先 でジョブを実行する方法 - 約束の地

ここの、項目5にこういう記述があります

ssh-key-storage-path に SSH鍵 を設定します*3

storage-path という文字列が含まれてあることから分かるように、この設定名を用いる場合は Rundeck の鍵管理システムを利用する場合です 単純に任意の場所に置いた鍵を指定する方法や パスワードでログインする方法の場合は異なる設定をする必要があります

ということですねー

投稿2021/06/14 08:41

編集2021/06/14 10:08
y_waiwai

総合スコア88024

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AkiFuku

2021/06/14 08:52

ありがとうございます。resource.xmlのパス指定を絶対パスにして同じコマンドを実行してみました。 ``` Failed: ConfigurationFailure: SSH Private key path is expected to start with "keys/": C:\rundeck\var\storage\content\keys\rundeck\id_rsa ``` ``` Execution failed: 453 in project test2: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [winnode2019: ConfigurationFailure: SSH Private key path is expected to start with "keys/": C:\rundeck\var\storage\content\keys\rundeck\id_rsa + {dataContext=MultiDataContextImpl(map={}, base=null)} ]}, Node failures: {winnode2019=[ConfigurationFailure: SSH Private key path is expected to start with "keys/": C:\rundeck\var\storage\content\keys\rundeck\id_rsa + {dataContext=MultiDataContextImpl(map={}, base=null)} ]}, status: failed] ``` と出たので、「keys/」始まりでないと認識されないようです。
AkiFuku

2021/06/14 10:28

ありがとうございます。 単にフォルダに置いているだけの秘密鍵は、Key Strage上で確認できてもRundeckの鍵管理システムの中では秘密鍵として扱われないから、 「Add or Upload a Key」ボタンを使ってシステム上に登録しなければSSH接続に使用できない、ということだったんですね。 今手元で試せないので明日設定変更して再挑戦してみます。
AkiFuku

2021/06/15 00:57

教えていただいた内容のほか SSH秘密鍵を「ssh-keygen -t rsa -b 4096 -m pem」 で作成したものに変更することでジョブの実行ができるようになりました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問