バッチファイル
ラズパイの設定をする用にバッチファイルに戻ってみた.
三十ン年くらい遡ってバッチファイルに戻ってみた.コマンドの単なる羅列でも動作してくれるので簡単で嬉しい.やりたいことは,3分待ってホスト名とユーザ名で遠隔接続を試し,IPアドレスがわかったら(そちらの方が安定してるので)公開鍵を送ってパスワード入力の手間なしで接続できるようにして,vncとsmbの状態を確認する.
3分待つ
timeout [/T] 180
バッチファイルにsleepはないが,timeout.exeコマンドができていた.引数は秒数./NOBREAKオプションもある.
ifconfig->ip
ssh %RPiUSER%@%RPiNAME% "sudo ifconfig | grep broadcast | awk '{print $2;}'"
RPiOSのipconfigコマンドの出力から”broadcast”という字句を含んだ行の2番目の字句を取り出す.老化でIPアドレスを覚えておけなくなってきたので下のようにして環境変数に入れる.
ssh %RPiUSER%@%RPiNAME% "sudo ifconfig | grep broadcast | awk '{print $2;}'" >tempip.txt
set /p RASPI=<tempip.txt
del tempip.txt
もともとは%RPiUSER%,%RPiNAME%はバッチの引数%1とか%2とか使っていたけど,何度も入力するのがだるくなったので予め以下のようにした.
echo off
if "%2"=="" (
echo USAGE %0 USERNAME RPiNAME
goto :eof
)
set RPiUSER=%1
set RPiNAME=%2
環境変数は%RPiUSER%,%RPiNAME%,%RASPI%の3つが増えた.大概メインで使うラズパイは一つなのでこれでいい気がする.
公開鍵を送信する
ssh-keygen -R %RASPI%
ssh %RPiUSER%@%RASPI% if [ ! -d .ssh ]; then mkdir .ssh; fi; "cat >> .ssh/authorized_keys" < %USERPROFILE%\.ssh\id_rsa.pub
RPiの~に.sshフォルダがなければ作成し,そこにPCの.ssh下のid_rsa.pubを書き込む.
VNC/SAMBAサーバのチェック
ssh %RPiUSER%@%RASPI% sudo raspi-config nonint get_vnc
ssh %RPiUSER%@%RASPI% sudo systemctl status smbd
RPIOSのコマンドraspi-configのnonintオプションがバッチと相性よし.get_vncは0が公開状態.不用意に開いているときはdo_vnc 1として閉じる.
0コメント