忍者ブログ

◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例

   

【BAT】TTL呼出しバッチ

@echo off
REM ## ローカル変数開始 遅延環境変数
setlocal ENABLEDELAYEDEXPANSION
REM ==============================
REM ## 変数定義
REM ==============================
set COUNT=0
set MenuLINE=0
set SkipLINE=0
set Get_IP=
set RDP_User=
set RDP_Password=
set TERATERM_User=
set TERATERM_Password=
REM ## TTLファイル格納,INIファイル格納
set CURRENT_DIR=%CD%
set RDP_File=%CURRENT_DIR%\RDP_LOGON.ttl
set TTL_File=%CURRENT_DIR%\ServerLOGIN.ttl
set INI_File=%CURRENT_DIR%\TERATERM_2.INI
REM ## CSVファイル格納
set TargetFILE_01=%CURRENT_DIR%\RemoteDesktop.csv
set TargetFILE_02=%CURRENT_DIR%\SSHconnection.csv
REM ## TeraTermマクロのEXEファイル格納
cd /d C:\Program Files (x86)\teraterm
REM ## cd /d D:\Program Files (x86)\teraterm
REM ## cd /d E:\Program Files (x86)\teraterm
set Change_DIR=%CD%
set Macro_EXE=%Change_DIR%\ttpmacro.exe
REM ## カレントに戻る
cd /d %CURRENT_DIR%
REM ## 一時的に実行ファイルのパス追加
REM ## set path=%path%;%Macro_EXE%
color 17
REM ## パラメータ表示
echo -----------------------------
echo CURRENT  : %CURRENT_DIR% --- CURRENT Path
echo RDP File : %RDP_File% --- RDP File
echo TTL File : %TTL_File% --- TTL File
echo INI File : %INI_File% --- NII File
echo CSV File : %TargetFILE_01% --- RDP csv
echo CSV File : %TargetFILE_02% --- SSH csv
echo TeraTerm : %Change_DIR% --- TeraTerm Path
echo EXE File : %Macro_EXE% --- EXE File
echo -----------------------------
Timeout 1
pause
REM ★★★★★★★★★★★★★★★
REM ## メニュー表示
:MENU_START
cls
color 0f
REM ## 変数リセット
set COUNT=0
set SkipLINE=0
echo *****************************
echo 【メニュー】
echo *****************************
echo * MENU
echo *
echo *  【1】: リモートデスクトップ 接続
echo *  【2】: Tera Term 接続
echo *
echo * 【99】: 終了
echo *
echo *****************************
set USR_INPUT_STR=
set /P USR_INPUT_STR="番号を入力してください: "
if ""%USR_INPUT_STR%""=="""" GOTO MENU_START
if %USR_INPUT_STR%==1 (goto MENU_START_01)
if %USR_INPUT_STR%==2 (goto MENU_START_02)
if %USR_INPUT_STR%==99 (goto MENU_END)
goto MENU_ERROR
REM ★★★★★★★★★★★★★★★
REM ## リモートデスクトップ接続
:MENU_START_01
cls
color f0
echo *****************************
echo 【リモートデスクトップ接続先】
echo *****************************
echo * RDP MENU
echo *
REM ───────────────
REM ## CSVファイル読み込み
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_01%) do (
  REM ## 行数
  set /a COUNT=!COUNT!+1
  REM ## RDP用メニュー表示
  echo * 【!COUNT!】 : %%a %%c 【ホスト名:%%b】  【ユーザ名:%%h】
)
REM ## メニュー行数セット
set /a MenuLINE=%COUNT%
REM ## 変数リセット
set COUNT=0
REM ───────────────
echo *  【0】 : メニューに戻る
echo * 【99】 : 終了
echo *
echo *****************************
set USR_INPUT_STR=
set /P USR_INPUT_STR="番号を入力してください: "
if ""%USR_INPUT_STR%""=="""" GOTO MENU_START_01
if %USR_INPUT_STR%==0 (goto MENU_START)
if %USR_INPUT_STR%==99 (goto MENU_END)
REM ## メニューに無い数はエラー
if %USR_INPUT_STR% gtr %MenuLINE% (goto MENU_ERROR)
REM ───────────────
REM ## CSVファイル読み込み⇒対象抽出⇒関数処理
REM ## 入力値を変数にセット
set SkipLINE=%USR_INPUT_STR%
if %SkipLINE%==1 (
  for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_01%) do (
    set /a COUNT=!COUNT!+1
    set Get_IP=%%a
    set RDP_User=%%h
    set RDP_Password=%%i
    REM ## ループ終了
    goto forSkip1
  )
) else ( set /a SkipLINE=%SkipLINE%-1 )
)
REM ## echo %SkipLINE% LINE --- SKIP
REM ## 指定行数までスキップして読み込む
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=, skip=%SkipLINE%" %%a in (%TargetFILE_01%) do (
  set /a COUNT=!COUNT!+1
  set Get_IP=%%a
  set RDP_User=%%h
  set RDP_Password=%%i
  REM ## ループ終了
  goto forSkip1
)
REM ───────────────
REM ## 関数呼び出し
:forSkip1
echo --- %USR_INPUT_STR% --- %Get_IP% %RDP_User%
pause
if not %COUNT%==0 (call :RDP %Get_IP% %RDP_User% %RDP_Password%)
REM ## 戻り値判定
if %errorlevel%==1 (goto MENU_START)
REM ───────────────
goto MENU_ERROR
REM ★★★★★★★★★★★★★★★
REM ## テラターム接続
:MENU_START_02
cls
color 0e
echo *****************************
echo 【TeraTerm接続先】
echo *****************************
echo * TERATERM MENU
echo *
REM ───────────────
REM ## CSVファイル読み込み
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_02%) do (
  REM ## 行数
  set /a COUNT=!COUNT!+1
  REM ## TeraTerm用メニュー表示
  echo * 【!COUNT!】 : %%a %%c 【ホスト名:%%b】  【ユーザ名:%%h】
)
REM ## メニュー行数セット
set /a MenuLINE=%COUNT%
REM ## 変数リセット
set COUNT=0
REM ───────────────
echo *  【0】 : メニューに戻る
echo * 【99】 : 終了
echo *
echo *****************************
set USR_INPUT_STR=
set /P USR_INPUT_STR="番号を入力してください: "
if ""%USR_INPUT_STR%""=="""" GOTO MENU_START_02
if %USR_INPUT_STR%==0 (goto MENU_START)
if %USR_INPUT_STR%==99 (goto MENU_END)
REM ## メニューに無い数はエラー
if %USR_INPUT_STR% gtr %MenuLINE% (goto MENU_ERROR)
REM ───────────────
REM ## CSVファイル読み込み⇒対象抽出⇒関数処理
REM ## 入力値を変数にセット
set SkipLINE=%USR_INPUT_STR%
if %SkipLINE%==1 (
  for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_02%) do (
    set /a COUNT=!COUNT!+1
    set Get_IP=%%a
    set TERATERM_User=%%h
    set TERATERM_Password=%%i
    REM ## ループ終了
    goto forSkip2
  )
) else ( set /a SkipLINE=%SkipLINE%-1 )
)
REM ## echo %SkipLINE% LINE --- SKIP
REM ## 指定行数までスキップして読み込む
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=, skip=%SkipLINE%" %%a in (%TargetFILE_02%) do (
  set /a COUNT=!COUNT!+1
  set Get_IP=%%a
  set TERATERM_User=%%h
  set TERATERM_Password=%%i
  REM ## ループ終了
  goto forSkip2
)
REM ───────────────
REM ## 関数呼び出し
:forSkip2
echo --- %USR_INPUT_STR% --- %Get_IP% %TERATERM_User%
pause
if not %COUNT%==0 (call :TERATERM %Get_IP% %TERATERM_User% %TERATERM_Password%)
REM ## 戻り値判定
if %errorlevel%==1 (goto MENU_START)
REM ───────────────
goto MENU_ERROR
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 関数 RDP
:RDP
cls
color 8f
set xRDPxIP=%1
set xRDPxUSER=%2
set PS_Args=%3
echo 【ログイン先IPアドレス:%xRDPxIP%】【ユーザ名:%xRDPxUSER%】
echo 【対象ファイル:%PS_Args%】
REM ───────────────
REM ## リモートデスクトップ接続マクロ実行
cd /d %Change_DIR%
ttpmacro.exe %RDP_File% %xRDPxIP% %xRDPxUSER% %PS_Args%
REM ───────────────
REM ## 変数初期化、戻り値1をセットして戻る
set xRDPxIP=
set xRDPxUSER=
set PS_Args=
set PS_VALUE=
set xRDPxPASSWORD=
exit /b 1
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 関数 TERATERM
:TERATERM
cls
color 0f
set xLOGINxIP=%1
set xLOGINxUSER=%2
set PS_Args=%3
echo 【ログイン先IPアドレス:%xLOGINxIP%】【ユーザ名:%xLOGINxUSER%】
echo 【対象ファイル:%PS_Args%】
REM ───────────────
REM ## TERATERM接続マクロ実行
cd /d %Change_DIR%
ttpmacro.exe %TTL_File% %xLOGINxIP% %xLOGINxUSER% %PS_Args% %INI_File%
REM ───────────────
REM ## 変数初期化、戻り値1をセットして戻る
set xLOGINxIP=
set xLOGINxUSER
set PS_Args=
set PS_VALUE=
set xLOGINxPASSWORD=
exit /b 1
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## エラー処理
:MENU_ERROR
cls
color 0c
echo *****************************
echo 入力エラー(メニューに戻ります)
echo *****************************
Timeout 2
goto MENU_START
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 終了処理
:MENU_END
cls
color 0a
echo *****************************
echo 【 終 了 】
echo *****************************
REM ## ローカル変数終了
endlocal
Timeout 2
exit
PR

【BAT】暗号化と複合化

①で予め暗号化したファイルを作成しておく、③のバッチから②のPowerShellを呼び出して複合化する場合の例

①【暗号化パスワードのファイル作成コマンド】
PowerShell -command "[byte[]] $Enc_KEY = (3,4,2,3,56,34,254,222,1,1,2,23,42,54,33,233,1,34,2,7,6,5,35,43);$Cred = Get-Credential;$Cred.Password | ConvertFrom-SecureString -key $Enc_KEY | Set-Content .\Password.dat"

②## 【複合化パワーシェル(関数)】
## AES用バイト配列
[byte[]] $Enc_KEY = (3,4,2,3,56,34,254,222,1,1,2,23,42,54,33,233,1,34,2,7,6,5,35,43)
 
## 暗号化されたパスワードを複合化する
$Get_Param = Get-Content $Args[0] | ConvertTo-SecureString -key $Enc_KEY
$SSTstr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Get_Param)
$PTSstr  = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($SSTstr)
$Return_Param = $PTSstr
 
## 戻り値を返す
return $Return_Param

③【バッチからパワーシェルを呼び出して結果を取得する】
@echo off
 
set PS_Args=Password.dat
 
REM ## echo パラメータ %PS_Args%
 
REM ## パスワードを取得する
FOR /F "usebackq" %%p IN (`powershell -executionpolicy bypass -File PW_File.ps1 %PS_Args%`) DO SET PS_VALUE=%%p
 
echo 複合化したパスワード = %PS_VALUE%
 
pause

【BAT】ログイン用バッチ

@echo off
REM ## ローカル変数開始 遅延環境変数
setlocal ENABLEDELAYEDEXPANSION
REM ==============================
REM ## 変数定義
REM ==============================
set COUNT=0
set MenuLINE=0
set SkipLINE=0
set Get_IP=
set RDP_User=
set RDP_Password=
set TERATERM_User=
set TERATERM_Password=
REM ## TTLファイル格納,INIファイル格納
set CURRENT_DIR=%CD%
set TTL_File=%CURRENT_DIR%\ServerLOGIN.ttl
set INI_File=%CURRENT_DIR%\TERATERM_2.INI
REM ## CSVファイル格納
set TargetFILE_01=%CURRENT_DIR%\RemoteDesktop.csv
set TargetFILE_02=%CURRENT_DIR%\SSHconnection.csv
REM ## TeraTermマクロのEXEファイル格納
cd /d C:\Program Files (x86)\teraterm
REM ## cd /d D:\Program Files (x86)\teraterm
REM ## cd /d E:\Program Files (x86)\teraterm
set Change_DIR=%CD%
set Macro_EXE=%Change_DIR%\ttpmacro.exe
REM ## カレントに戻る
cd /d %CURRENT_DIR%
REM ## 一時的に実行ファイルのパス追加
REM ## set path=%path%;%Macro_EXE%
color 17
REM ## パラメータ表示
echo -----------------------------
echo CURRENT  : %CURRENT_DIR% --- CURRENT Path
echo TTL File : %TTL_File% --- TTL File
echo INI File : %INI_File% --- NII File
echo CSV File : %TargetFILE_01% --- RDP csv
echo CSV File : %TargetFILE_02% --- SSH csv
echo TeraTerm : %Change_DIR% --- TeraTerm Path
echo EXE File : %Macro_EXE% --- EXE File
echo -----------------------------
Timeout 1
REM ## pause
REM ★★★★★★★★★★★★★★★
REM ## メニュー表示
:MENU_START
cls
color 0f
REM ## 変数リセット
set COUNT=0
set SkipLINE=0
echo *****************************
echo 【メニュー】
echo *****************************
echo * MENU
echo *
echo *  1: リモートデスクトップ 接続
echo *  2: Tera Term 接続
echo *
echo * 99: 終了
echo *
echo *****************************
set USR_INPUT_STR=
set /P USR_INPUT_STR="番号を入力してください: "
if ""%USR_INPUT_STR%""=="""" GOTO MENU_START
if %USR_INPUT_STR%==1 (goto MENU_START_01)
if %USR_INPUT_STR%==2 (goto MENU_START_02)
if %USR_INPUT_STR%==99 (goto MENU_END)
goto MENU_ERROR
REM ★★★★★★★★★★★★★★★
REM ## リモートデスクトップ接続
:MENU_START_01
cls
color f0
echo *****************************
echo 【リモートデスクトップ接続先】
echo *****************************
echo * RDP MENU
echo *
REM ───────────────
REM ## CSVファイル読み込み
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_01%) do (
  REM ## 行数
  set /a COUNT=!COUNT!+1
  REM ## RDP用メニュー表示
  echo * !COUNT! : %%a 【ホスト名:%%b】 %%c 【ユーザ名:%%e】
)
REM ## メニュー行数セット
set /a MenuLINE=%COUNT%
REM ## 変数リセット
set COUNT=0
REM ───────────────
echo *  0 : メニューに戻る
echo * 99 : 終了
echo *
echo *****************************
set USR_INPUT_STR=
set /P USR_INPUT_STR="番号を入力してください: "
if ""%USR_INPUT_STR%""=="""" GOTO MENU_START_01
if %USR_INPUT_STR%==0 (goto MENU_START)
if %USR_INPUT_STR%==99 (goto MENU_END)
REM ## メニューに無い数はエラー
if %USR_INPUT_STR% gtr %MenuLINE% (goto MENU_ERROR)
REM ───────────────
REM ## CSVファイル読み込み⇒対象抽出⇒関数処理
REM ## 入力値を変数にセット
set SkipLINE=%USR_INPUT_STR%
if %SkipLINE%==1 (
  for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_01%) do (
    set /a COUNT=!COUNT!+1
    set Get_IP=%%a
    set RDP_User=%%e
    set RDP_Password=%%i
    REM ## ループ終了
    goto forSkip1
  )
) else ( set /a SkipLINE=%SkipLINE%-1 )
)
REM ## echo %SkipLINE% LINE --- SKIP
REM ## 指定行数までスキップして読み込む
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=, skip=%SkipLINE%" %%a in (%TargetFILE_01%) do (
  set /a COUNT=!COUNT!+1
  set Get_IP=%%a
  set RDP_User=%%e
  set RDP_Password=%%i
  REM ## ループ終了
  goto forSkip1
)
REM ───────────────
REM ## 関数呼び出し
:forSkip1
echo --- %USR_INPUT_STR% --- %Get_IP% %RDP_User%
pause
if not %COUNT%==0 (call :RDP %Get_IP% %RDP_User% %RDP_Password%)
REM ## 戻り値判定
if %errorlevel%==1 (goto MENU_START)
REM ───────────────
goto MENU_ERROR
REM ★★★★★★★★★★★★★★★
REM ## テラターム接続
:MENU_START_02
cls
color 0e
echo *****************************
echo 【TeraTerm接続先】
echo *****************************
echo * TERATERM MENU
echo *
REM ───────────────
REM ## CSVファイル読み込み
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_02%) do (
  REM ## 行数
  set /a COUNT=!COUNT!+1
  REM ## TeraTerm用メニュー表示
  echo * !COUNT! : %%a 【ホスト名:%%b】 %%c 【ユーザ名:%%e】
)
REM ## メニュー行数セット
set /a MenuLINE=%COUNT%
REM ## 変数リセット
set COUNT=0
REM ───────────────
echo *  0 : メニューに戻る
echo * 99 : 終了
echo *
echo *****************************
set USR_INPUT_STR=
set /P USR_INPUT_STR="番号を入力してください: "
if ""%USR_INPUT_STR%""=="""" GOTO MENU_START_02
if %USR_INPUT_STR%==0 (goto MENU_START)
if %USR_INPUT_STR%==99 (goto MENU_END)
REM ## メニューに無い数はエラー
if %USR_INPUT_STR% gtr %MenuLINE% (goto MENU_ERROR)
REM ───────────────
REM ## CSVファイル読み込み⇒対象抽出⇒関数処理
REM ## 入力値を変数にセット
set SkipLINE=%USR_INPUT_STR%
if %SkipLINE%==1 (
  for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_02%) do (
    set /a COUNT=!COUNT!+1
    set Get_IP=%%a
    set TERATERM_User=%%e
    set TERATERM_Password=%%i
    REM ## ループ終了
    goto forSkip2
  )
) else ( set /a SkipLINE=%SkipLINE%-1 )
)
REM ## echo %SkipLINE% LINE --- SKIP
REM ## 指定行数までスキップして読み込む
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=, skip=%SkipLINE%" %%a in (%TargetFILE_02%) do (
  set /a COUNT=!COUNT!+1
  set Get_IP=%%a
  set TERATERM_User=%%e
  set TERATERM_Password=%%i
  REM ## ループ終了
  goto forSkip2
)
REM ───────────────
REM ## 関数呼び出し
:forSkip2
echo --- %USR_INPUT_STR% --- %Get_IP% %TERATERM_User%
pause
if not %COUNT%==0 (call :TERATERM %Get_IP% %TERATERM_User% %TERATERM_Password%)
REM ## 戻り値判定
if %errorlevel%==1 (goto MENU_START)
REM ───────────────
goto MENU_ERROR
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 関数 RDP
:RDP
cls
color 8f
set xRDPxIP=%1
set xRDPxUSER=%2
set PS_Args=%3
echo 【ログイン先IPアドレス:%xRDPxIP%】【ユーザ名:%xRDPxUSER%】
echo 【対象ファイル:%PS_Args%】
REM ───────────────
REM ## パスワードを複合化して抽出する
FOR /F "usebackq" %%p IN (`powershell -executionpolicy bypass -File PW_File.ps1 %PS_Args%`) DO SET PS_VALUE=%%p
set xRDPxPASSWORD=%PS_VALUE%
REM ───────────────
REM ## RDPコマンド実行
Cmdkey /generic:TERMSRV/%xRDPxIP% /user:%xRDPxUSER% /pass:%xRDPxPASSWORD%
Start mstsc /v:%xRDPxIP%
Timeout 5
Cmdkey /delete:TERMSRV/%xRDPxIP%
REM ───────────────
REM ## 変数初期化、戻り値1をセットして戻る
set xRDPxIP=
set xRDPxUSER=
set PS_Args=
set PS_VALUE=
set xRDPxPASSWORD=
exit /b 1
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 関数 TERATERM
:TERATERM
cls
color 0f
set xLOGINxIP=%1
set xLOGINxUSER=%2
set PS_Args=%3
echo 【ログイン先IPアドレス:%xLOGINxIP%】【ユーザ名:%xLOGINxUSER%】
echo 【対象ファイル:%PS_Args%】
REM ───────────────
REM ## パスワードを複合化して抽出する
FOR /F "usebackq" %%p IN (`powershell -executionpolicy bypass -File PW_File.ps1 %PS_Args%`) DO SET PS_VALUE=%%p
set xLOGINxPASSWORD=%PS_VALUE%
REM ───────────────
REM ## TERATERM接続マクロ実行
cd /d %Change_DIR%
ttpmacro.exe %TTL_File% %xLOGINxIP% %xLOGINxUSER% %xLOGINxPASSWORD% %INI_File%
REM ───────────────
REM ## 変数初期化、戻り値1をセットして戻る
set xLOGINxIP=
set xLOGINxUSER
set PS_Args=
set PS_VALUE=
set xLOGINxPASSWORD=
exit /b 1
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## エラー処理
:MENU_ERROR
cls
color 0c
echo *****************************
echo 入力エラー(メニューに戻ります)
echo *****************************
Timeout 2
goto MENU_START
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 終了処理
:MENU_END
cls
color 0a
echo *****************************
echo 【 終 了 】
echo *****************************
REM ## ローカル変数終了
endlocal
Timeout 2
exit
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
TeraTermマクロは以下を参照
https://archives.blog-mmo.com/Entry/84/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
暗号化と複合化は以下を参照
https://archives.blog-mmo.com/Entry/86/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

【TTL】バッチ連携用

timeout=10
;; ■接続先IPアドレス
paramIP = params[2]
;; ■ユーザー名
paramUSER = params[3]
;; ■パスワード
paramPASSWORD = params[4]
;; ■INIファイル
paramINI = params[5]
;; ## INIファイルを直接読ませる場合
;; getdir DIR
;; paramINI = DIR
;; strconcat paramINI '\TERATERM_2.INI'
;; ## SSH接続コマンド組み立て
LoginSSH = paramIP
;; ## パスワード認証
;; strconcat LoginSSH ':22 /ssh /auth=password /user='
;; ## キーボードインタラクティブ認証
;; strconcat LoginSSH ':22 /ssh /auth=challenge /user='
;; ## パスワード認証
strconcat LoginSSH ':22 /ssh /auth=password /user='
strconcat LoginSSH paramUSER
strconcat LoginSSH ' /passwd='
strconcat LoginSSH paramPASSWORD
;; ## INIファイルを指定
strconcat LoginSSH ' /F='
strconcat LoginSSH paramINI
;; ## SSH接続
connect LoginSSH
if result <> 2 then
    messagebox '接続エラー' '【connection err】'
    end
endif
wait '$' '#'
sendln 'uname -n'
sendln 'echo ##################### 'paramIP' ##################### '
sendln 'ip a | grep 'paramIP
sendln 'whoami'
sendln 'date'
statusbox '1秒後にマクロ終了します' '【マクロ終了】'
pause 1
;; messagebox 'マクロを終了します' '【マクロ終了】'
end

【Windows】ポート転送

★対象サーバの情報
┏━━━━━━━━━━━━━━━━━━━━━━
┃① Windws10
┃               IPアドレス(192.168.0.99)
┃─────────────────────
┃② Linux
┃               IPアドレス(192.168.0.77:22)
┃─────────────────────
┃③ Windows Server 2019
┃               IPアドレス(192.168.0.88:3389)
┗━━━━━━━━━━━━━━━━━━━━━━
 
★ポート転送の活用について…
┏━━━━━━━━━━━━━━━━━━━━━━
┃自分のPC端末から②、③に直接アクセス出来ない環境で
┃自分のPC端末から①へのアクセスは可能な場合
┃ポート転送で①経由させると②、③へアクセス出来るようになる
┃
┃【TeraTermの場合】
┃  PC端末 ⇒ ② (①でポート転送)
┃
┃【リモートデスクトップの場合】
┃  PC端末 ⇒ ③ (①でポート転送)
┗━━━━━━━━━━━━━━━━━━━━━━
 
★前提条件
┏━━━━━━━━━━━━━━━━━━━━━━
┃【前提条件】
┃  ①でSSHサーバをアプリ追加して
┃  SSHサーバのサービスを起動させる
┃─────────────────────
┃  自分のPC端末で、netsh か ssh どちらかを実行する
┃  (以下の【例】のコマンド参照)
┃─────────────────────
┃【注意事項】
┃  DOS画面は開いたままの状態にしておく
┗━━━━━━━━━━━━━━━━━━━━━━
 
★手順(TeraTerm接続の場合)
┏━━━━━━━━━━━━━━━━━━━━━━
┃【例】DOSより、netshコマンドを実行する
┃ netsh interface portproxy add v4tov4 listenport=7777 listenaddr=192.168.0.99 connectport=22 connectaddress=192.168.0.77
┃─────────────────────
┃【例】DOSより、sshコマンドを実行する
┃ ssh Administrator@192.168.0.99 -L 7777:192.168.0.77:22 -g -N
┃─────────────────────
┃■TeraTerm接続
┃ 以下を指定してログイン
┃  127.0.0.1:7777
┗━━━━━━━━━━━━━━━━━━━━━━
 
★手順(リモートデスクトップ接続の場合)
┏━━━━━━━━━━━━━━━━━━━━━━
┃【例】DOSより、netshコマンドを実行する
┃ netsh interface portproxy add v4tov4 listenport=8888 listenaddr=192.168.0.99 connectport=3389 connectaddress=192.168.0.88
┃─────────────────────
┃【例】DOSより、sshコマンドを実行する
┃ ssh Administrator@192.168.0.99 -L 8888:192.168.0.88:3389 -g -N
┃─────────────────────
┃■リモートデスクトップ接続
┃ 以下を指定してログイン
┃  127.0.0.1:8888
┗━━━━━━━━━━━━━━━━━━━━━━

【Linux】豆知識

━━━━━━━━━━━━━━━━━━━
【Teratermでのファイル転送】
 
1.Teratermメニューの「ファイル」>「SSH SCP」を選択
 
2.ポップアップ画面の上段 or 下段に以下のように入力する
 「From:」に転送元ファイルのパスを入力
 「To:」に転送先フォルダのパスを入力
 
3.以下の何れかのボタンをクリックする
 「Send」ボタン ⇒ ファイルを送る
 「Receive」ボタン ⇒ ファイルを受ける
 
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
【シェルスクリプトの実行する方法の違い】
 
[1] スクリプトファイルの実行権あり
 ./<script>
 
[2] スクリプトファイルの実行権なし
 sh ./<script>
 bash ./<script>
 
[3] スクリプトファイルの実行権なし
 source ./<script>
 . ./<script>
 
※[1]、[2]は子プロセスを生成して実行される
※[3]は現在のシェルで実行するので、環境変数あり
 
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
【デフォルト設定を無効化してコマンド実行】
「\」を付けることで、デフォルト設定を無効化
 
 例えば、cp コマンドの場合
 cp -f でも上書き確認が表示されるように
 デフォルトが設定されているが、
 \cp -f とすると上書き確認を非表示にできる
 
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
【cron についてのメモ】
・参照 ⇒ crontab -l
・編集 ⇒ crontab -e
 
【crontab 書式】
 分 時 日 月 曜日 <コマンド>
 
【例】 0 7-8 * * 2,5 command
  火曜、金曜の7時、8時に実行
 (command は、絶対パスで指定)
 
━━━━━━━━━━━━━━━━━━━

【情報】ウィルス対策

■ウィルス対策関連の情報
┏━━━━━━━━━━━━━━━━━━
┃TREND MICRO
┃ 最新版ダウンロード
┣━━━━━━━━━━━━━━━━━━
┃Trend Micro Apex Central
┃ ※ゲートウェイ、メールサーバ、ファイルサーバで動作するトレンドマイクロの各製品およびサービスを集中管理
┣━━━━━━━━━━━━━━━━━━
┃Inter Scan Messaging Security Suite (ISMS)
┃ ※ウイルス大規模感染やスパムメールを防止
┣━━━━━━━━━━━━━━━━━━
┃InterScan Messaging Security Virtual Appliance (IMSVA)
┃ ※仮想アプライアンス製品(製品にOSが含まれている)
┣━━━━━━━━━━━━━━━━━━
┃Inter Scan for MicroSoft Exchange (ISME)
┃ ※メールサーバを保護するセキュリティ対策ソフトウェア
┣━━━━━━━━━━━━━━━━━━
┃Inter Scan Web Security Suite (IWSS)
┃ ※Webからの攻撃を動的にブロック
┣━━━━━━━━━━━━━━━━━━
┃Tenable.sc
┃ ※脆弱性をすばやく特定して、調査、修正の優先順位付けを実行
┣━━━━━━━━━━━━━━━━━━
┃Fire EYE EX8400
┃ ※スピア・フィッシングなどのメールをきっかけとした攻撃を検知、防御
┣━━━━━━━━━━━━━━━━━━
┃Fire EYE NX2550
┃ ※マルウェアや悪意のあるファイル、 通信チャネル、ゼロデイ・エクスプロイトによる攻撃を検知し、ブロック
┣━━━━━━━━━━━━━━━━━━
┃Fire EYE CM4400
┃ ※デバイスと脅威情報を一元的に管理しながら、攻撃経路の関連性を分析
┗━━━━━━━━━━━━━━━━━━

【Windows】スタートアップ

■スタートアップ登録手順
┌──────────────────
│ [Windows]+[R]キーを押す
│  ・[ファイル名を指定して実行]を開く
│------------------------------------
│ shell:startup
│  ・スタートアップのフォルダが開く
│    ※ ショートカットを格納する
└──────────────────

【Windows】USB初期化

■ USBメモリの初期化方法
┌──────────────────
│コマンドプロンプト画面を開く
│・管理者権限で起動する
│------------------------------------
│diskpart
│・DiskPartツール起動
│------------------------------------
│list disk
│・ディスク一覧の表示
│------------------------------------
│select disk <番号>
│・ディスク番号を選択
│------------------------------------
│detail disk
│・選択したディスク情報の表示
│ (USB確認)
│------------------------------------
│convert gpt
│・GPT形式に変換する
│ (不要であればスキップ)
│------------------------------------
│clean all
│・データを削除(全部)
│------------------------------------
│create partition primary
│・パーティション作成
│------------------------------------
│format fs=ntfs quick
│・フォーマット(クイック)
│ (quick オプション無しでも可)
│------------------------------------
│assign letter=G
│・ドライブレターを割り当て
│ (ドライブレターの文字は任意)
└──────────────────

【Linux】Vim 操作

■ Linux 一般的ショートカット
┌──────────────────
│Ctrl + a
│・行頭へ移動
├──────────────────
│Ctrl + e
│・行末へ移動
├──────────────────
│Ctrl + i
│・Tabキー
├──────────────────
│Ctrl + d
│・Deleteキー
├──────────────────
│Ctrl + h
│・Backspaceキー
├──────────────────
│Ctrl + u
│・行頭までカット
├──────────────────
│Ctrl + k
│・行末までカット
├──────────────────
│Ctrl + y
│・貼り付け
├──────────────────
│Ctrl + c
│・強制終了(処理のキャンセル)
├──────────────────
│Ctrl + d
│・ログアウト
├──────────────────
│Ctrl + s
│・画面ロック
├──────────────────
│Ctrl + q
│・画面ロックの解除
├──────────────────
│Ctrl + l
│・画面クリア
├──────────────────
│Ctrl + w
│・単語削除
├──────────────────
│Ctrl + z
│・処理を一時的に中断させる
│ ⇒中断した処理の再開方法
│  jobs コマンドでジョブ番号を表示
│  fg <ジョブ番号> コマンドで再開
└──────────────────
■ Linux あまり使わないショートカット
┌──────────────────
│Alt + 矢印キー
│・複数のデスクトップを切り替える
├──────────────────
│Shift + Insert
│・ターミナルへテキストをペースト
├──────────────────
│Ctrl + Alt + Backspace
│・X画面の再起動
├──────────────────
│Ctrl + Alt + F1(~F6)
│・CUIログインモードに切替え
├──────────────────
│Ctrl + Alt + F7
│・GUIログインモードに切替え
├──────────────────
│Ctrl + Alt + Delete
│・OSリブート
└──────────────────
■ Vim エディタの操作方法
┌──────────────────
│i
│・カーソルの左からインサートモード
├──────────────────
│a
│・カーソルの右からインサートモード
├──────────────────
│o
│・改行してインサートモード
├──────────────────
│I
│・行頭に移動してインサートモード
├──────────────────
│A
│・行末に移動してインサートモード
├──────────────────
│/<文字>
│・文字を検索
│ ⇒ n 前方に検索
│ ⇒ N 後方に検索
├──────────────────
│:%s/<文字1>/<文字2>/g
│・文字1 を検索し、文字2 へ置換する
├──────────────────
│gg
│・最初の行に移動
├──────────────────
│G
│・最後の行に移動
├──────────────────
│0 (Homeキー)
│・行頭に移動
├──────────────────
│$ (Endキー)
│・行末に移動
├──────────────────
│:
│・コマンドモードへ移行
├──────────────────
│x
│・カーソル位置の文字を削除
├──────────────────
│r
│・カーソル位置の文字を置換
├──────────────────
│dd
│・一行削除
├──────────────────
│yy
│・一行コピー
├──────────────────
│p
│・カーソルより下に貼り付け
├──────────────────
│P
│・カーソルより上に貼り付け
├──────────────────
│u
│・元に戻す
├──────────────────
│ESC
│・ノーマルモードに移行
├──────────────────
│:w
│・ファイルの保存(上書き)
├──────────────────
│:w <ファイル名>
│・ファイル名を指定して保存(上書き)
├──────────────────
│:w >> <ファイル名>
│・ファイル名を指定して保存(追記)
├──────────────────
│:q!
│・Vim終了(保存しない)
├──────────────────
│:wq!
│・ファイルを保存してVim終了
├──────────────────
│Ctrl + v
│・矩形選択
├──────────────────
│set columns=<数字>
│・ウィンドウサイズの横幅を設定
├──────────────────
│set lines=<数字>
│・ウィンドウサイズの高さを設定
├──────────────────
│:set number
│・行番号を表示させる
├──────────────────
│:set nonumber
│・行番号を非表示にする
├──────────────────
│Ctrl + f
│・1画面分下に移動
├──────────────────
│Ctrl + b
│・1画面分上に移動
├──────────────────
│:<数字>
│・指定した行に移動
├──────────────────
│v
│・ビジュアルモードに移行
├──────────────────
│:! <コマンド>
│・外部のシェルコマンドを実行する
└──────────────────

更新日付

09 2026/10 11
S M T W T F S
1 2
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

RECOMMEND

プロフィール

HN:
Account
HP:
性別:
非公開
職業:
--- NODATA ---
趣味:
--- NODATA ---
自己紹介:
◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

リンク

<<前のページ  | HOME |  次のページ>>
Copyright ©  -- LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例 --  All Rights Reserved
Design by CriCri / Photo by Melonenmann / powered by NINJA TOOLS / 忍者ブログ / [PR]