commit 3a3b1068ab69b56b00da15a803670a7d8cf3cbde
| author | 斟酌 鵬兄 <tgckpg@gmail.com> |
| date | 2026-09-21T03:09:08Z |
| subject | Reorder ssh calls to avoid entering password multiple times |
commit 3a3b1068ab69b56b00da15a803670a7d8cf3cbde
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date: 2026-09-21T03:09:08Z
Reorder ssh calls to avoid entering password multiple times
---
bash/dist/rbashrc | 2 +-
bash/dist/rbashrc.asc | 10 +++++-----
bash/dist/sources.list | 2 +-
bash/sources/42_clipboard_server | 18 ++++++++++++++----
4 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/bash/dist/rbashrc b/bash/dist/rbashrc
index 3a17206..45a0a66 100755
--- a/bash/dist/rbashrc
+++ b/bash/dist/rbashrc
@@ -18,7 +18,7 @@ RBASH_CONFIG="$RBASH_HOME/config"
RBASH_ENV="$RBASH_HOME/env"
RBASH_MERGED="$RBASH_CACHE_DIR/merged"
RBASH_BIN="$RBASH_HOME/bin"
-RBASH_SOURCES_SUM="dca9d84d6a82b259009ac5eca8fea1f7cea73eb0894ec847dd19ff93cbe3d01f"
+RBASH_SOURCES_SUM="3cbdee204a161551890fa580a5d7f8eddc749afe7aa1579606b4a31f77d8d432"
# ---- rbash: bash/core/00_env.bash ----
diff --git a/bash/dist/rbashrc.asc b/bash/dist/rbashrc.asc
index 515d77d..b6a86da 100644
--- a/bash/dist/rbashrc.asc
+++ b/bash/dist/rbashrc.asc
@@ -1,8 +1,8 @@
-----BEGIN PGP SIGNATURE-----
-iJEEABYKADkWIQR8HpSNhBJUxWnt+97Vz1+xz60nwwUCap6qvBsUgAAAAAAEAA5t
-YW51MiwyLjUrMS4xMiwwLDMACgkQ1c9fsc+tJ8OTTgEA5hKyIj4DMG25Cjw7tVLh
-y8bd9p19zNI4VqnGBsr0iAcA+wQhBETU0R2bPGzWgdIzPa8Q6Z9NuiLwZOJPZkk5
-gFAF
-=6SRP
+iJEEABYKADkWIQR8HpSNhBJUxWnt+97Vz1+xz60nwwUCarCfmBsUgAAAAAAEAA5t
+YW51MiwyLjUrMS4xMiwwLDMACgkQ1c9fsc+tJ8M8zgD/T8V3I2yCBC2jlNykolCq
+HXlm/IS+9iTzDo+JwjW65hwA/R4K6JWzC6AjSdD1oXoVgIHMEC0NeoM/04yzYtk/
+t00A
+=/r4G
-----END PGP SIGNATURE-----
diff --git a/bash/dist/sources.list b/bash/dist/sources.list
index 76cc499..5399dde 100644
--- a/bash/dist/sources.list
+++ b/bash/dist/sources.list
@@ -13,5 +13,5 @@ b5a488efc0558e2b795a1558e2c91a8aeecc3fd441d437aff3a4749d5eb0bdfc sources/23_win
5dbc166ce1b051b54d244ef5dc6b52dfbff03965e9abb0ed891d441dffbf8a76 sources/31_git-utils
c9c270376844e7c7e3c48b1e86c2ce3e7824dde64e8724c17c5fc95910abd11c sources/40_go-command
c0e8ef70466063907b5ed9e52c13532b0019b8cb5975d020899804549a76a37f sources/41_pivot-command
-fbe7250012b7ab92aece248e56b1d68b32539ab06a5f31415ced0af64bcd37cd sources/42_clipboard_server
+49d4ef33b1b11778a3f34cf7074a7660afeca99b1c1dbfe8b8f58d2f920685cf sources/42_clipboard_server
d02be2a68e8bd1f7e5adacbdd0bdc4f426aabfa1a57709270b673617db6c5352 sources/60_diagnostics
diff --git a/bash/sources/42_clipboard_server b/bash/sources/42_clipboard_server
index 8ed9752..8c1e919 100644
--- a/bash/sources/42_clipboard_server
+++ b/bash/sources/42_clipboard_server
@@ -141,6 +141,7 @@ function stop_clipboard_server {
"$SSH_CLIPBOARD_PASTE_PIDFILE"
}
+
function sshc {
init_clipboard_server || return
@@ -152,9 +153,20 @@ function sshc {
"$@" \
>/dev/null 2>&1
then
+ echo "-- starting ssh control master"
+
+ command ssh \
+ -M \
+ -S "$control_socket" \
+ -o ControlPersist=10 \
+ -fN \
+ "$@" || return
+
echo "-- cleaning stale clipboard sockets"
- command ssh "$@" \
+ command ssh \
+ -S "$control_socket" \
+ "$@" \
"rm -f \
'$SSH_CLIPBOARD_REMOTE_COPY_SOCKET' \
'$SSH_CLIPBOARD_REMOTE_PASTE_SOCKET'" \
@@ -163,10 +175,8 @@ function sshc {
echo "-- starting clipboard ssh tunnel"
command ssh \
- -M \
-S "$control_socket" \
- -o ControlPersist=10 \
- -fN \
+ -O forward \
-R "$SSH_CLIPBOARD_REMOTE_COPY_SOCKET:$SSH_CLIPBOARD_COPY_SOCKET" \
-R "$SSH_CLIPBOARD_REMOTE_PASTE_SOCKET:$SSH_CLIPBOARD_PASTE_SOCKET" \
"$@" || return