毎回Powershellを起動して、コンソールにsshの接続情報を入力するのが手間になってきたので、
SSHログイン用Batプログラム
SSHファイル送信用Batプログラム
を作成しました。
一度作っておくと便利です。もっと早く作っておけばよかったと後悔するレベルです。
環境
クライアント windows 11
サーバ VM上で動作するubuntu24.04LTS(192.168.19.129)
OpenSSHサーバが稼働
SSHログイン用Batプログラム
次の内容をテキストファイルで作成し、PS_login(local).batという名前でデスクトップに保存します。
@echo on
powershell -Command "Start-Process powershell -ArgumentList 'ssh remortuser@192.168.19.129' -NoNewWindow"
ユーザ名 remortuser
サーバ 192.168.19.129
※ペア鍵を生成し、パスワードレスでログインできるようにしています。
実行方法は、Batファイルをダブルクリックするだけです。
SSH用のパスワードを設定している場合はパスワードが要求されます
Batプログラムを使ってPowershellを起動した様子
SSHファイル送信用Batブログラム
Batファイルの上に送信したいファイルをドロップすると、サーバ上の特定フォルダにアップロードします。
次のBatプログラムをテキストファイルで作成し、PS_upload(local).batという名前でデスクトップに保存します。
@echo on
setlocal enabledelayedexpansion
set SERVER_USER=remortuser
set SERVER_IP=192.168.19.129
set REMOTE_DIR=/home/remortuser/デスクトップ
if "%~1"=="" (
echo No file dropped.
pause
exit /b
)
for %%F in (%*) do (
set "FILE_PATH=%%F"
echo Uploading "!FILE_PATH!" to %SERVER_USER%@%SERVER_IP%:%REMOTE_DIR%
powershell -Command "scp -q `\"!FILE_PATH!`\" %SERVER_USER%@%SERVER_IP%:%REMOTE_DIR%"
if errorlevel 1 (
echo Failed to upload "!FILE_PATH!"
) else (
echo Successfully uploaded "!FILE_PATH!"
)
)
pause
ユーザ名 remortuser
サーバ 192.168.19.129
送信先は固定です
必要に応じて「www」等を追加してもらえばいいと思います。
終わりに
当たり前のことしかやっていませんが、あると便利ですので、備忘録として残しておきます。