管理者としてLinux(Ubuntu)からWindowsサーバーにクライアントキーをコピーしようとしています。
これまでは、次のステップでこれを達成できます。
私は管理者としてLinuxでbashを使用し、Windowsでpowershell 7.3.4を使用しています。
- Linuxクライアントの公開鍵をWindowsサーバーにコピーします。
scp ~/.ssh/public_key.pub Admin@WindowsServer:__PROGRAMDATA__/ssh/
- WindowsサーバーにSSHで接続して
administrators_authorized_keys
ファイルが存在するかどうかを確認し、C:\PROGRAMDATA\SSH\
存在しない場合はファイルを作成します。
New-Item -Force -Path c:\PROGRAMDATA\ssh\administrators_authorized_keys
- Administrators_authorized_keys ファイルの権限を設定します。
icacls C:\PROGRAMDATA\ssh\administrators_authorized_keys /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
- 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_keys
。administrators_authorized_keys
scp
私は次のことを試しました。公開鍵ファイルをコピーしましたが、ファイル
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_keys
Windowsに公開鍵を接続するか、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'
これは私にとって効果的です。