1

この問題は私を困惑させ、正しい質問を定式化するのに苦労します。それで私の最善の努力の下に。私はこの質問を改善する助けができたら嬉しいです。Anonymousから呼び出された場合、ChocolateyはSynology DiskstationでWindows共有にアクセスできない

背景: 私はChocolateyを介してWindows 10クライアントにインストールされたソフトウェアを管理していますが、これはAnsibleによってリモートから呼び出されます。 Chocolatey Packagesのリポジトリは、NAS上のWindows共有にあります。私は最初にケルベロスのチケット(https://github.com/ansible/ansible/issues/15682参照)を使ってうまく解決されたセカンドホップの問題に直面しました。クライアントとSynologyはADドメインに参加します。

私が直面する問題は、リポジトリがSynology Diskstation上のWindows共有である場合、ChocolateyはAnagers経由でリモートから呼び出された場合、パッケージを表示しないことです。コマンドは実際には正常に実行されますが、空のリストが返されます。同じコマンド(choco list)がローカルで呼び出された場合は、すべて正常です。リポジトリがOpenMediaVault(OMV)NASでホストされている共有上にある場合は、Sambaオプションでguestが有効になっている場合にのみ、Ansibleで動作します。私はSynologyで同様の設定を見つけようとしました。私はゲストアクセスを有効にしました。これは、クライアントがユーザー名/パスワードを提供せずにシェアに接続できるようにも機能するようです。

Wiresharkを使用することで、チョコリストをローカルで実行すると、ユーザー名/ドメインが提供されることがわかりました(これは期待されています)。コマンドがAnagers経由でリモートから呼び出された場合、ユーザー名/ドメインは指定されていません(値はNULLです)。これは、ゲストアクセスの許可が有効な場合にのみ、OMV上で動作する理由を説明しています。

は現在、私は2つの可能な解決策パスを参照してください。

  1. どのようにリモートで設定するシェア(より安全として好ま溶液)

    • にアクセスするときに、ユーザーの資格情報を送信するためにリモートで実行チョココマンドを取得実際に共有に接続するときにスクリプトを実行しているユーザーからuser-/domainnameを使用するためにPowerShellスクリプト(Chocolateyなど)を実行しましたか?
  2. は、これは実際にほとんどの私を困惑さ

    • のSynology DiskStationには、リモートで実行されるスクリプトからも無しユーザ名でログインを受け入れるように取得します。原則としてゲストのアクセスは機能します。パスワード/ユーザ名の入力を求めずに、LinuxゲストやWindowsのボックスから許可されている共有に接続することができます。
    • chocoコマンドがリモートで呼び出され、それを修正する方法がないと誰も考えられませんか?資格キャッシュを意味し、「バッチ」のログイン、として実行
    • 私は喜んで追加情報を提供します

...

答えて

2

WinRMのセッションは、ユーザー名/パスワードを接種されていない、とMicrosoftはそれを作りますそうすることは困難です。 Windows becomeのサポートを追加することで、問題を部分的に解決することができます(WinRMセッション内に新しい対話型ログオンセッションを作成してから、Anabilitiesモジュールを実行すると直感的に動作します)。 SynologyがKerberosを理解している場合は、pywinrmでケルベロスの委任を有効にすることができます(pywinrm 0.2.0およびAnsible 2.1+のインベントリにansible_winrm_kerberos_delegation=trueを設定してください)。それ以外の場合は、ちょっとしたことですが、いくつかのモジュールは独自の認証(win_packageを参照)でこれを解決しましたが、それは持続可能ではありません。モジュールごとではなく、

+1

こんにちはMatt、ありがとうございました!それは実際に動作します!私たちは本当にAnsibleでより良いWinRMサポートを楽しみにしています!あなたのやり方は大変です! –

関連する問題