PowerShellウィンドウを開くたびに実行されるプロファイルがあります。私はSSHを行っているので、PowerShellを起動した直後に私が追加されるようにする必要があります。しかし、SSHのパスフレーズには、すでにssh-agentに追加されている限り、私はパスフレーズを要求しないようにしたいと思います。この問題の解決策は、hereと記載されていますが、Linuxシェルの場合は説明しています。私は解決策は以下のとおりであるPowerShellの同等にそこに記載変換したPowerShell Select-Stringがドライブ文字としてコロンを解析しないようにする
:
$ssh_add = "$env:ProgramFiles/Git/usr/bin/ssh-add.exe"
$ssh_keygen = "$env:ProgramFiles/Git/usr/bin/ssh-keygen.exe"
$my_key_path = "$env:USERPROFILE/.ssh/id_rsa"
$my_ssh_key = & $ssh_keygen -lf $my_key_path
$ssh_keys = & $ssh_add -l
if (!(Select-String -Pattern $my_ssh_key -Path $ssh_keys -SimpleMatch -Quiet))
{
& $ssh_add -t 5h $my_key_path
}
SSH鍵は、PowerShellはドライブ文字です考えているようだコロンを含むことが起こります。次のエラーメッセージでのこの結果は、次の形式で
Select-String : Cannot find drive. A drive with the name '4096 SHA256' does not exist.
SSHキー:
$my_ssh_key = 4096 SHA256:somelongSSHkey [email protected] (RSA)
$ssh_keys = 4096 SHA256:anotherlongSSHkey /c/Users/MyUser/.ssh/id_rsa (RSA)
どのように私は、ドライブ文字の区切り文字として解析されてからコロンを防ぐことができますか?
'-InputObject'を使用し、それを' Select-String'にパイプで渡す例を提供できますか? – tambre
例が追加されました。パイプの使用を含むもっと多くの例については、ドキュメントを参照してください。 – CBHacking