web-dev-qa-db-ja.com

Windows上のOpenSSH-「XXXは、__ PROGRAMDATA__に公開キーを保存できませんでした

OpenSSHをWindows Server(2012 R2標準)にインストールしようとしていますが、この場所の指示に従っています: https://www.server-world.info/en/note?os=Windows_Server_2012&p= openssh

私は管理者としてPowershellを実行しましたが、コマンド.\ssh-keygen.exe -A(手順のステップ7)。これを実行すると、次のエラーが返されます。

RSAは__PROGRAMDATA __ \\ ssh/ssh_Host_rsa_key.9uX3wf3apvに公開鍵を保存できませんでした:ディレクトリのそのようなファイルはありません」

同じエラーがDSA、ECDSA、およびED25519にも表示されます。

Screenshot of errors

誰が私がここで間違っているのか教えてもらえれば幸いです。ウェブを検索しましたが、これに関する他の参照は見つかりませんでした。

11
Evvy73

私は同じエラーを受け取りましたが、SSHと呼ばれるプログラムデータの下にフォルダを手動で追加してからコマンドを再度実行すると、動作しているように見えました

28
Scott Coats

__PROGRAMDATA__は環境変数PROGRAMDATAを参照します(おそらくC:\ProgramDataに設定されます)。

通常、cmdコマンドプロンプトを開いて入力するのが最も簡単です。

mkdir %PROGRAMDATA%\ssh

またはpowershell

mkdir $env:ProgramData\ssh

その後、再実行します

.\ssh-keygen.exe -A
24
Anthon

PowerShellがProgramData変数を台無しにするので、cmdプロンプトからこれを行う必要があります。

これを行う

C:\ Program Files\OpenSSH-Win64> powershell。\ install-sshd.ps1 -A

コマンドプロンプトから、あなたはおそらく行ってもいいでしょう。

1
Espen Fossheim

必要に応じて、管理者として実行できます。これにより、ssh-keygen.exeにファイルを作成するために必要なすべての権限が付与されます。

runas.exe /noprofile /user:Administrator .\ssh-keygen.exe

これにより、C:\ Users\Administrator.sshにキーがインストールされます

現在のユーザーまたは別のユーザーがキーにアクセスできるようにするには、Powershellを右クリックして[Run as Different User

キーを生成するときに、昇格したPowershellになりたくない

OpenSSHは現在のユーザーから実行され、C:\ Users\UserName.sshを確認します。 LinuxでのSSHの動作に似ています。

0
Carlos del Rio