【PowerShell】LinuxにSSH接続して、操作ログの記録もおこなう

スポンサーリンク

ssh コマンドを使ってLinuxにSSH接続することができます。また Start-Transcript コマンドを使うことで操作ログを記録することができます。

※参考:「PowerShell」の開き方

TEST

① ログの記録の開始

書式

Start-Transcript -Append -Path <ログファイルのパス>

Start-Transcript コマンドでログの記録を開始します。
-Path オプションを指定してログファイルのパスを指定できます。ファイルが存在しない場合は新規に作成されます。
-Append オプションを指定し、既に同名のファイルが存在する場合は上書きせず、末尾に追記をするようにしています。

※参考:PowerShellの操作ログを取る

実行例

PS> Start-Transcript -Append -Path C:\tmp\test.log 
トランスクリプトが開始されました。出力ファイル: C:\tmp\test.log

② LinuxへのSSH接続

書式

ssh <ユーザー名>@<ホスト名 または IPアドレス>

ssh コマンドでLinuxにSSH接続します。ここで指定するユーザー名はLinuxのOSユーザーです。

実行例

PS> ssh user1@web01
The authenticity of host 'web01 (192.168.1.5)' can't be established.
ECDSA key fingerprint is SHA256:pDN6sO15+1KHaHV/+R2kJYwAJgSxxJ0D5/4MQT2kpy8.
Are you sure you want to continue connecting (yes/no)?  yes
Warning: Permanently added 'rhel77' (ECDSA) to the list of known hosts.
user1@rhel77's password: パスワードを入力(表示されません)
Last login: Fri Apr 16 21:11:38 2021 from xxxxxx.xxxxxx.xxxxxx.xxxxxx.xxxxxx
[user1@web01 ~]$

③ Linuxでの作業

必要な作業を行います。

④ ログの記録の終了

Stop-Transcript コマンドでログの記録を終了します。

PS> Stop-Transcript
トランスクリプトが停止されました。出力ファイル: C:\tmp\test.log

出力されたログファイルを確認すると以下のように記録されています。

**********************
Windows PowerShell トランスクリプト開始
開始時刻: 20211113080636
ユーザー名: WIN01\Administrator
RunAs ユーザー: WIN01\Administrator
構成名: 
コンピューター: WIN01 (Microsoft Windows NT 10.0.19042.0)
ホスト アプリケーション: C:\WINDOWS\system32\WindowsPowerShell\v1.0\PowerShell.exe
プロセス ID: 12384
PSVersion: 5.1.19041.1237
PSEdition: Desktop
PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.19041.1237
BuildVersion: 10.0.19041.1237
CLRVersion: 4.0.30319.42000
WSManStackVersion: 3.0
PSRemotingProtocolVersion: 2.3
SerializationVersion: 1.1.0.1
**********************
トランスクリプトが開始されました。出力ファイル: C:\tmp\test.log
PS C:\Users\admin> ssh user01@55.XXX.23.XX
user01@rhel77's password:
Last login: Fri Nov 12 22:16:09 2021 from xxxxxx.xxxxxx.xxxxxx.xxxxxx.xxxxxx
[user01@rhel77 ~]$
[user01@rhel77 ~]$ cd /var/tmp/
[user01@rhel77 tmp]$
[user01@rhel77 tmp]$ pwd
/var/tmp
[user01@rhel77 tmp]$
[user01@rhel77 tmp]$
[user01@rhel77 tmp]$ mkdir test dir
[user01@rhel77 tmp]$
[user01@rhel77 tmp]$ exit
logout
Connection to 55.XXX.23.XX closed.
PS C:\Users\admin> Stop-Transcript
**********************
Windows PowerShell トランスクリプト終了
終了時刻: 20211113081130
**********************

以上。

PowerShell に関しては下記の本をお勧めしておきます。プログラミング初心者向けに丁寧に解説されています。2015年に出版された本ですが、PowerShell の基本的なコマンドはかわらないので何の問題もありません。

コメント