裏窓/Windows10標準のssh.exeで多段sshするまでの道のり
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* はじめに [#h47c1e9e]
$HOME/.ssh/confg で多段sshのconfigは作れるが、Windows10標...
「どうせ同じだろ?」とか思ってると些細なところで意外とハ...
- 2021/02/20 ~/.ssh/config 変換コマンドの修正
- 2021/02/19 ~/.ssh/config 変換コマンドを見直し(WSL対応)
- 2021/12/15 NUL、全部入り変換手順を追記
** sshが使えるか確認 [#k9d66e78]
コマンドプロンプトで ssh -V や where ssh とかしてみるのが...
#ref(./0720-02.png, 75%)
もし見つからない、エラーが出る場合は openssh client のイ...
- [[Windows10 に OpenSSH インストール - Qiita>https://qii...
* ssh-agent を使えるようにする [#we4ba40a]
サービス ssh-agent を有効にし、起動する
- [[Windows 10のssh-agentをコマンド プロンプト、WSL、Git ...
秘密鍵のパーミッションを適切にする(≒ %userprofile%\.ssh\...
- [[Windows版VSCodeで秘密鍵の位置に関係なくSSHログインす...
* 必要に応じて ~/.ssh/config の ProxyCommand を見直す [#i...
sshコマンドを使って多段する場合(大抵はそうなると思います...
ProxyCommand ssh -W %h:%p gateway 2>/dev/null
ここの ssh コマンド部分はフルパスで指定しておくのが無難です
- [[Windwos10でssh ProxyCommandの多段SSHの設定 - suzu6>ht...
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -W %h:...
既に WSL/msys2 等で config を作成している場合はこんな感じ...
#prism(bash){{{
# パス変換コマンド判別
if type wslpath >/dev/null 2>&1; then CMD=wslpath; elif t...
# バックアップ取得後に ~/.ssh/config を変換
CONF=$("$CMD" "${APPDATA%\\AppData*}"/.ssh/config)
[ -f "$CONF" ] && cp "$CONF" /tmp/
sed 's/ProxyCommand ssh/ProxyCommand C:\\Windows\\System3...
}}}
** pingコマンド差分 [#mc2c4ffa]
Match Host セクションで使うことが多いと思いますが、
ping コマンドは 回数(-c)、タイムアウト(-W)など、Linux...
さらに ping の出力を捨てておくと良いかもしれません
具体的には ping コマンドの末尾に >NUL を追加します
Linux
#prism(bash){{{
Match Host rasp* Exec "ping -c1 -W1 192.168.10.162"
HostName 192.168.10.162
Match Host rasp*
HostName 192.168.10.159
}}}
Windows
#prism(bash){{{
Match Host rasp* Exec "ping -n 1 -w 1 192.168.10.162 >NUL"
HostName 192.168.10.162
Match Host rasp*
HostName 192.168.10.159
}}}
変換例
#prism(bash){{{
sed 's/-c1 -W1/-n 1 -w 1/' | perl -pe 's/"\s*$/ >NUL$&/ i...
}}}
全部入りの手順
#prism(bash){{{
# パス変換コマンド判別
if type wslpath >/dev/null 2>&1; then CMD=wslpath; elif t...
# バックアップ取得
CONF=$("$CMD" "${APPDATA%\\AppData*}"/.ssh/config)
[ -f "$CONF" ] && cp "$CONF" /tmp/
# ~/.ssh/config を変換(3行を一気にコピペ)
sed 's/ProxyCommand ssh/ProxyCommand C:\\Windows\\System3...
sed 's/-c1 -W1/-n 1 -w 1/' |
perl -pe 's/"\s*$/ >NUL$&/ if /ping/' >"$CONF"
}}}
* 備考 [#odd5037a]
** -f オプションが変 [#r6a5f462]
変というか、、、sshコマンドを入力後、プロンプトが返らずに...
(4s後に Enter→固まる/15sec後に Ctrl+C で停止)
#youtube(VkHXJQU_oFE)
なんとかしてバックグラウンドで起動したい場合、
start コマンドを使って ssh のウィンドウを最小化してしまう...
start /min ssh -vNL 8080:192.168.33.1:8080 remotepc.gat...
終了するときは ssh のウィンドウを開き、Ctrl+C します
終了行:
* はじめに [#h47c1e9e]
$HOME/.ssh/confg で多段sshのconfigは作れるが、Windows10標...
「どうせ同じだろ?」とか思ってると些細なところで意外とハ...
- 2021/02/20 ~/.ssh/config 変換コマンドの修正
- 2021/02/19 ~/.ssh/config 変換コマンドを見直し(WSL対応)
- 2021/12/15 NUL、全部入り変換手順を追記
** sshが使えるか確認 [#k9d66e78]
コマンドプロンプトで ssh -V や where ssh とかしてみるのが...
#ref(./0720-02.png, 75%)
もし見つからない、エラーが出る場合は openssh client のイ...
- [[Windows10 に OpenSSH インストール - Qiita>https://qii...
* ssh-agent を使えるようにする [#we4ba40a]
サービス ssh-agent を有効にし、起動する
- [[Windows 10のssh-agentをコマンド プロンプト、WSL、Git ...
秘密鍵のパーミッションを適切にする(≒ %userprofile%\.ssh\...
- [[Windows版VSCodeで秘密鍵の位置に関係なくSSHログインす...
* 必要に応じて ~/.ssh/config の ProxyCommand を見直す [#i...
sshコマンドを使って多段する場合(大抵はそうなると思います...
ProxyCommand ssh -W %h:%p gateway 2>/dev/null
ここの ssh コマンド部分はフルパスで指定しておくのが無難です
- [[Windwos10でssh ProxyCommandの多段SSHの設定 - suzu6>ht...
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -W %h:...
既に WSL/msys2 等で config を作成している場合はこんな感じ...
#prism(bash){{{
# パス変換コマンド判別
if type wslpath >/dev/null 2>&1; then CMD=wslpath; elif t...
# バックアップ取得後に ~/.ssh/config を変換
CONF=$("$CMD" "${APPDATA%\\AppData*}"/.ssh/config)
[ -f "$CONF" ] && cp "$CONF" /tmp/
sed 's/ProxyCommand ssh/ProxyCommand C:\\Windows\\System3...
}}}
** pingコマンド差分 [#mc2c4ffa]
Match Host セクションで使うことが多いと思いますが、
ping コマンドは 回数(-c)、タイムアウト(-W)など、Linux...
さらに ping の出力を捨てておくと良いかもしれません
具体的には ping コマンドの末尾に >NUL を追加します
Linux
#prism(bash){{{
Match Host rasp* Exec "ping -c1 -W1 192.168.10.162"
HostName 192.168.10.162
Match Host rasp*
HostName 192.168.10.159
}}}
Windows
#prism(bash){{{
Match Host rasp* Exec "ping -n 1 -w 1 192.168.10.162 >NUL"
HostName 192.168.10.162
Match Host rasp*
HostName 192.168.10.159
}}}
変換例
#prism(bash){{{
sed 's/-c1 -W1/-n 1 -w 1/' | perl -pe 's/"\s*$/ >NUL$&/ i...
}}}
全部入りの手順
#prism(bash){{{
# パス変換コマンド判別
if type wslpath >/dev/null 2>&1; then CMD=wslpath; elif t...
# バックアップ取得
CONF=$("$CMD" "${APPDATA%\\AppData*}"/.ssh/config)
[ -f "$CONF" ] && cp "$CONF" /tmp/
# ~/.ssh/config を変換(3行を一気にコピペ)
sed 's/ProxyCommand ssh/ProxyCommand C:\\Windows\\System3...
sed 's/-c1 -W1/-n 1 -w 1/' |
perl -pe 's/"\s*$/ >NUL$&/ if /ping/' >"$CONF"
}}}
* 備考 [#odd5037a]
** -f オプションが変 [#r6a5f462]
変というか、、、sshコマンドを入力後、プロンプトが返らずに...
(4s後に Enter→固まる/15sec後に Ctrl+C で停止)
#youtube(VkHXJQU_oFE)
なんとかしてバックグラウンドで起動したい場合、
start コマンドを使って ssh のウィンドウを最小化してしまう...
start /min ssh -vNL 8080:192.168.33.1:8080 remotepc.gat...
終了するときは ssh のウィンドウを開き、Ctrl+C します
ページ名: