ユーザ名とパスワードでログイン
;接続情報
HOSTADDR = 'IPアドレス'
USERNAME = 'ユーザ名'
PASSWORD = 'パスワード'
PORTNUM = 'ポート'
;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
;接続
connect COMMAND
end
「;」はコメントアウト
strconcatで、変数COMMANDに文字列として接続情報を追加していく
最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード
ユーザと公開鍵でログイン
;接続情報
HOSTADDR = 'IPアドレス'
USERNAME = 'ユーザ名'
KEYFILE = '公開鍵のパス'
PORTNUM = 'ポート'
;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEYFILE
;接続
connect COMMAND
end
最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=publickey /user=ユーザ名 /keyfile=公開鍵のパス
選択したホストへログイン
;メッセージボックス
MESSAGE = '接続するホストを選択してください'#13#13
strconcat MESSAGE '【1】ホスト1'#13
strconcat MESSAGE '【2】ホスト2'#13
strconcat MESSAGE '【3】ホスト3'
inputbox MESSAGE '接続マクロ'
;文字列を数字に変換
str2int HOSTNUMB inputstr
;入力された数字に応じて変数定義
if HOSTNUMB = 1 then
HOSTADDR = '1が入力された場合のIPアドレス'
elseif HOSTNUMB = 2 then
HOSTADDR = '2が入力された場合のIPアドレス'
elseif HOSTNUMB = 3 then
HOSTADDR = '3が入力された場合のIPアドレス'
else
messagebox '1~3を入力してください' '入力エラー'
end
endif
;ホスト以外の接続情報
USERNAME = 'ユーザ名'
PASSWORD = 'パスワード'
PORTNUM = 'ポート'
;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
;接続
connect COMMAND
end
2,3,4行目
#13
メッセージ内で使う改行
6行目
inputbox A B
入力ボックスAをメッセージBを表示する
19行目
messagebox A B
ウィンドウAでメッセージBを表示する
最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード
参考

ログイン後にコマンド実行
;接続情報
HOSTADDR = 'IPアドレス'
USERNAME = 'ユーザ名'
PASSWORD = 'パスワード'
PORTNUM = 'ポート'
SUPASS = 'SUパスワード'
;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
;接続
connect COMMAND
;ログイン待ち
wait "login"
;date他実行
sendln "date;uname -n;whoami"
;プロンプト待ち
wait "$"
;su実行
sendln "su -"
;パスワード入力待ち
wait "パスワード"
;パスワード送信
sendln SUPASS
end
21,26,33行目
wait “文字列”
文字列を待機する
23行目
sendln “文字列”
文字列を送信する
最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード
参考
踏み台サーバ経由でログイン
;接続情報(踏み台)
HOSTADDR = 'IPアドレス1'
USERNAME = 'ユーザ名1'
PASSWORD = 'パスワード1'
PORTNUM = 'ポート'
;接続情報(目的)
HOSTADDR2 = 'IPアドレス2'
USERNAME2 = 'ユーザ名2'
PASSWORD2 = 'パスワード2'
;コマンド組み立て(踏み台)
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
;接続(踏み台)
connect COMMAND
;ログイン待ち(踏み台)
wait "login"
;コマンド組み立て(目的)
COMMAND = 'ssh '
strconcat COMMAND USERNAME2
strconcat COMMAND '@'
strconcat COMMAND HOSTADDR2
;接続(目的)
sendln COMMAND
;パスワード受付待ち(目的)
wait 'password:'
sendln PASSWORD2
end
最終的には下記の形式のコマンドになり、接続する
踏み台
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード
目的
ssh ユーザ名2@IPアドレス2
参考

設定ファイルの読み込み
;接続情報
HOSTADDR = 'IPアドレス'
USERNAME = 'ユーザ名'
PASSWORD = 'パスワード'
PORTNUM = 'ポート'
;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
;設定ファイルの読み込み
INIFILE = '設定ファイル'
strconcat COMMAND ' /F='
strconcat COMMAND INIFILE
;接続
connect COMMAND
end
17行目
設定ファイルは、フルパスではなくファイル名
18,9行目
/F=設定ファイルで設定ファイルを指定する
最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード /F=設定ファイル
コメント