Powershellでsshチックなことをする
経緯
aws で、最近 iam role の付け替えが出来るようになりました。
早速 windows の iam role を起動したまま切り替えたのですが、その際に ssm が connection timeout になってしまいました。
Restart-Service Ec2Config で Online になるのですが、対象サーバがそれなりにあったので、もう少し楽にできないかと思い、 powershell を使うことにしました。
方法
winrm を使用すれば、 powershell でリモート接続しコマンドを叩ける。
ざっくりと二通りあったのでメモしておきます。
wirm でリモート接続するためには、 Enable-PSRemoting で有効化する必要があるので、詳しくは参考 URL を見ていただければと。。。
方法其ノ一
セッションをはる
New-PSSession -ComputerName
※ Public DNS , Private DNS どちらでも行けました。検証済み
下記でリモート接続しているサーバに対してコマンドを叩く
Invoke-Command -Session $sess -ScriptBlock {ls;}
添付画像のように、変数でうけるのがベターっぽいです。
補足
New-PSSession を使用すると、サインアウトしても session は残るので、 Remove-Session してあげましょう。
方法其ノ弐
New-PSSession だけではなく、 Enter-PSSession でも出来るようです。
Enter-PSSession -ComputerName <Public DNS or Private DNS>
ほぼ見えてませんが、下記のようになってます。
多段sshしている気分になります
[Public DNS]: PS C:¥Users¥hoge¥Documents>
まとめ
RDP したくないから、ssm使ってるのになんでやねん!ってなりました。
ただ、一つ知見が増えて良かったです。
参考
Author And Source
この問題について(Powershellでsshチックなことをする), 我々は、より多くの情報をここで見つけました https://qiita.com/uechi08/items/9c917ceb0d31b65f36fd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .