方法:c:¥ProgramData¥ssh¥administrators_authorized_keysにあるscpを使用して、Linux(クライアント)からWindows(opensshを実行しているサーバー)に公開鍵を接続します。

方法:c:¥ProgramData¥ssh¥administrators_authorized_keysにあるscpを使用して、Linux(クライアント)からWindows(opensshを実行しているサーバー)に公開鍵を接続します。

管理者としてLinux(Ubuntu)からWindowsサーバーにクライアントキーをコピーしようとしています。
これまでは、次のステップでこれを達成できます。

私は管理者としてLinuxでbashを使用し、Windowsでpowershell 7.3.4を使用しています。

  1. Linuxクライアントの公開鍵をWindowsサーバーにコピーします。
    scp ~/.ssh/public_key.pub Admin@WindowsServer:__PROGRAMDATA__/ssh/
  2. WindowsサーバーにSSHで接続してadministrators_authorized_keysファイルが存在するかどうかを確認し、C:\PROGRAMDATA\SSH\
    存在しない場合はファイルを作成します。
    New-Item -Force -Path c:\PROGRAMDATA\ssh\administrators_authorized_keys
  3. Administrators_authorized_keys ファイルの権限を設定します。
    icacls C:\PROGRAMDATA\ssh\administrators_authorized_keys /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
  4. public_key.pubの内容をadministrator_authorized_keysに追加します。
    Get-Content C:\ProgramData\ssh\public_key.pub | Add-Content C:\ProgramData\ssh\administrators_authorized_keys

これでファイルが作成され構成されたので、別のLinuxクライアントを使用して公開鍵をこのWindowsサーバー(すでに構成済み)に接続し、ONE-LINEで使用しようとしていますadministrators_authorized_keysadministrators_authorized_keysscp

私は次のことを試しました。公開鍵ファイルをコピーしましたが、ファイル
scp Linux2Win_key.pub Admin@WindowsServer:__ProgramData__/ssh/ ; Get-Content C:\ProgramData\ssh\Linux2Win_key.pub | Add-Content C:\ProgramData\ssh\administrators_authorized_keys
に追加しませんでした。administrator_authorized_keysエラーが発生します。
-bash: Add-Content: command not found
-bash: Get-Content: command not found
それからこれを試しました。 scp Linux2Win_key.pub Admin@WindowsServer:__ProgramData__/ssh/ ; cat __ProgramData__/ssh/Linux2Win_key.pub >> __ProgramData__/ssh/administrators_authorized_keys
同様の結果、公開鍵ファイルはコピーされましたが、administrator_authorized_keysファイルに追加されませんでした。エラーが発生しました:
-bash: __ProgramData__/ssh/administrators_authorized_keys: No such file or directory

考え方:
scpはファイルだけをコピーでき、ssh-copy-idはWindowsでは機能しないようです。ただし、Windowsではopensshを有効にしてsshを使用できます。

authorized_keysWindowsに公開鍵を接続するか、Windowsで接続するより良い方法(手動で実行する代わりに)を知っている場合はadministrators_authorized_keys共有してください。ありがとう
ございます。これはWindows関連の質問に近いです。他のところに聞いてみました。
Linux/Unix フォーラムでこの質問をして、誰かが気分が悪くなったらすみません。

答え1

引用符が欠落しているようです!

命令を使用するときは、scp次のAdmin@WindowsServer:内容を引用符で囲む必要があります。

scp Linux2Win_key.pub Admin@WindowsServer:'__ProgramData__/ssh/ ; Get-Content C:\ProgramData\ssh\Linux2Win_key.pub | Add-Content C:\ProgramData\ssh\administrators_authorized_keys'

これは私にとって効果的です。

関連情報