はじめに
PowerShellでSSHアクセス
-
PowerShellの開始 (キー入力):
Win
+x
>a
>はい
※Windows7以降標準搭載
ssh root@192.168.1.1
ssh root@192.168.1.1のショートカット作成(デスクトップ)
powershell
$DESKTOP = ([Environment]::GetFolderPath("Desktop") + "\192.168.1.1.lnk")
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$DESKTOP")
$Shortcut.TargetPath = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
$Shortcut.Arguments = '-windowstyle hidden -ExecutionPolicy RemoteSigned "Start-Process ssh root@192.168.1.1"'
$Shortcut.IconLocation = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,0"
$Shortcut.WorkingDirectory = "."
$Shortcut.Save()
強制的に貼り付け
yes
SSHログイン出来ない場合
known_hostsクリア
-
C:\Users\yourusername\.ssh\known_hosts
※Windows隠しファイル
powershell
Clear-Content .ssh\known_hosts -Force
OpenSSHのインストール
※Windows 10 Fall Creators Update(1709)以降標準搭載
- 機能の確認
powershell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
- 機能のインストール
powershell
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
ボタン(スイッチ)
ボタン(スイッチ)
インストール
# install
opkg update
opkg install kmod-button-hotplug
mkdir -p /etc/hotplug.d/button
# log調査用
cat << "EOF" > /etc/hotplug.d/button/buttons
logger "the button was ${BUTTON} and the action was ${ACTION}"
EOF
# 00-button
cat << "EOF" > /etc/hotplug.d/button/00-button
source /lib/functions.sh
do_button () {
local button
local action
local handler
local min
local max
config_get button "${1}" button
config_get action "${1}" action
config_get handler "${1}" handler
config_get min "${1}" min
config_get max "${1}" max
[ "${ACTION}" = "${action}" -a "${BUTTON}" = "${button}" -a -n "${handler}" ] && {
[ -z "${min}" -o -z "${max}" ] && eval ${handler}
[ -n "${min}" -a -n "${max}" ] && {
[ "${min}" -le "${SEEN}" -a "${max}" -ge "${SEEN}" ] && eval ${handler}
}
}
}
config_load system
config_foreach do_button button
EOF
reboot
該当ボタン確認
ls /etc/rc.button/
find /sys/firmware/devicetree/base/keys -mindepth 1 -type d | while read -r f; do printf '%s: %s\n' $(basename $f) $(hexdump -s2 -e '2/1 "%02x""\n"' $f/linux,code); done
該当ボタンをプッシュ&リリースしてから以下を実行
logread | tail -n 1 | grep button | awk '{ print $11 }'
WiFI ON OFF & リブート
設定ボタン及びスイッチ:AOSSボタン=wps
設定デバイス:BUFFALO WSR-6000AX8
# WiFi ON ワンプッシュボタンリリース
BUTTON='wps' # AOSS BUTTON
uci add system button
uci set system.@button[-1].button=${BUTTON}
uci set system.@button[-1].action="released"
uci set system.@button[-1].handler="uci set wireless.radio0.disabled=0; uci set wireless.radio1.disabled=0; uci commit; wifi"
uci set system.@button[-1].min="0"
uci set system.@button[-1].max="2"
# WiFi OFF 5秒ボタンリリース
uci add system button
uci set system.@button[-1].button=${BUTTON}
uci set system.@button[-1].action="released"
uci set system.@button[-1].handler="uci set wireless.radio0.disabled=1; uci set wireless.radio1.disabled=1; uci commit; wifi"
uci set system.@button[-1].min="3"
uci set system.@button[-1].max="7"
# restart 10秒ボタンリリース
uci add system button
uci set system.@button[-1].button=${BUTTON}
uci set system.@button[-1].action="released"
uci set system.@button[-1].handler="sleep 70 && touch /etc/banner && reboot"
uci set system.@button[-1].min="8"
uci set system.@button[-1].max="15"
# set
uci commit system
/etc/init.d/system reload
遠隔地リモート設定
対話型だから無理じゃんねw
設定ボタン及びスイッチ:AOSSボタン=wps
設定デバイス:BUFFALO WSR-6000AX8
環境設定:セレクター型インターネット全自動接続設定 / デバイス初期設定
設定方法:デバイス初期設定をする
# internet-config
wget --no-check-certificate -O /usr/sbin/internet-config.sh https://raw.githubusercontent.com/site-u2023/config-softwire/main/internet-config.sh
# 遠隔地WAN設定 5秒ボタンリリース
BUTTON='wps' # AOSS BUTTON
uci add system button
uci set system.@button[-1].button=${BUTTON}
uci set system.@button[-1].action="released"
uci set system.@button[-1].handler="sh /usr/sbin/internet-config.sh"
uci set system.@button[-1].min="3"
uci set system.@button[-1].max="8"
# set
uci commit system
/etc/init.d/system reload
ルーターモードとブリッジモード
検証中~
設定ボタン及びスイッチ:背面スイッチ=BTN_2
設定デバイス:BUFFALO WSR-6000AX8
環境設定:OCNバーチャルコネクト / Dumb アクセスポイント ブリッジ
設定方法:一度OCNバーチャルコネクトを設定し、次にDumb アクセスポイント ブリッジで設定しnetwork.bak
を出力させる(自動)
※要DHCPサーバー接続:Dumb アクセスポイント ブリッジ設定
# スイッチ切替5秒後設定変更及び再起動
# OCNバーチャルコネクト設定
BUTTON='router' # SWITCH AUTO
uci add system button
uci set system.@button[-1].button=${BUTTON}
uci set system.@button[-1].action="released"
uci set system.@button[-1].handler="cp /etc/config/network.dump.bak /etc/config/network; uci commit; sleep 70 && touch /etc/banner && reboot"
uci set system.@button[-1].min="5"
uci set system.@button[-1].max="10"
# Dumb アクセスポイント ブリッジ設定
BUTTON='router' # SWITCH MANUAL
uci add system button
uci set system.@button[-1].button=${BUTTON}
uci set system.@button[-1].action="pressed"
uci set system.@button[-1].handler="cp /etc/config/network /etc/config/network.dump.bak; uci commit; sleep 70 && touch /etc/banner && reboot"
uci set system.@button[-1].min="5"
uci set system.@button[-1].max="10"
# set
uci commit system
/etc/init.d/system reload