[GH-ISSUE #3] IA helper suggestions #2

Open
opened 2026-05-09 00:00:58 +02:00 by BreizhHardware · 0 comments

Originally created by @Sigri44 on GitHub (Dec 9, 2025).
Original GitHub issue: https://github.com/PAPAMICA/sshtools/issues/3

Hey,

Thx for this script !

Since i use sshr (my alias name for that, because replace ssh alias cause issue for git and other tools in local terminal), i have big slow connexion (ssh my_alias take 1 second, and sshr my_alias is approx 5/10sec (with fiber-link))

Have "debug" with my new best friend, but don't know what is your security return with this information :

1. Pourquoi sshr docker est très lent

Le ralentissement survient après la ligne Sending command: echo 'H4s…', c’est-à-dire lors de l’exécution de la longue commande envoyée via SSH.

Cause probable :
La commande envoyée par sshr() contient une énorme chaîne base64 gzip-é, injectée dans un echo '...'.
Lorsque tes fichiers sont un peu lourds (même quelques centaines de ko après base64), OpenSSH :

doit envoyer énormément de données au moment de la requête exec,

met du temps à accepter le PTY (car la commande est volumineuse),

doit s’assurer que le payload n’est pas interprété par le shell.

Cela explique l’attente entre :
exec request accepted on channel 0
et la première activité du shell.

Le comportement “ssh simple = rapide” est normal, car rien n’est envoyé dans le canal exec.

Solution simple : ne pas injecter les fichiers dans la commande.

Deux options efficaces :

Option A — Copier les fichiers via scp avant de lancer la session
scp ~/.sshtools/.bashrc_remote ~/.sshtools/.vimrc_remote ~/.sshtools/.webshare.py docker:/tmp/
ssh docker 'bash --rcfile /tmp/.bashrc_remote'


Tu peux automatiser ça dans sshr.

Option B — Passer les fichiers via ssh mais en streaming, sans base64 dans un echo

Beaucoup plus rapide :

sshr() {
    ssh "$1" 'cat > /tmp/.bashrc_remote' < ~/.sshtools/.bashrc_remote
    ssh "$1" 'cat > /tmp/.vimrc_remote' < ~/.sshtools/.vimrc_remote
    ssh "$1" 'cat > /tmp/webshare.py' < ~/.sshtools/.webshare.py
    ssh -t "$1" 'bash --rcfile /tmp/.bashrc_remote'
}


Avantages :

aucun base64 gigantesque,

aucun echo lent,

transfert direct via SSH (beaucoup plus rapide).

Have fun !

Originally created by @Sigri44 on GitHub (Dec 9, 2025). Original GitHub issue: https://github.com/PAPAMICA/sshtools/issues/3 Hey, Thx for this script ! Since i use sshr (my alias name for that, because replace ssh alias cause issue for git and other tools in local terminal), i have big slow connexion (ssh my_alias take 1 second, and sshr my_alias is approx 5/10sec (with fiber-link)) Have "debug" with my new best friend, but don't know what is your security return with this information : ```bash 1. Pourquoi sshr docker est très lent Le ralentissement survient après la ligne Sending command: echo 'H4s…', c’est-à-dire lors de l’exécution de la longue commande envoyée via SSH. Cause probable : La commande envoyée par sshr() contient une énorme chaîne base64 gzip-é, injectée dans un echo '...'. Lorsque tes fichiers sont un peu lourds (même quelques centaines de ko après base64), OpenSSH : doit envoyer énormément de données au moment de la requête exec, met du temps à accepter le PTY (car la commande est volumineuse), doit s’assurer que le payload n’est pas interprété par le shell. Cela explique l’attente entre : exec request accepted on channel 0 et la première activité du shell. Le comportement “ssh simple = rapide” est normal, car rien n’est envoyé dans le canal exec. Solution simple : ne pas injecter les fichiers dans la commande. Deux options efficaces : Option A — Copier les fichiers via scp avant de lancer la session scp ~/.sshtools/.bashrc_remote ~/.sshtools/.vimrc_remote ~/.sshtools/.webshare.py docker:/tmp/ ssh docker 'bash --rcfile /tmp/.bashrc_remote' Tu peux automatiser ça dans sshr. Option B — Passer les fichiers via ssh mais en streaming, sans base64 dans un echo Beaucoup plus rapide : sshr() { ssh "$1" 'cat > /tmp/.bashrc_remote' < ~/.sshtools/.bashrc_remote ssh "$1" 'cat > /tmp/.vimrc_remote' < ~/.sshtools/.vimrc_remote ssh "$1" 'cat > /tmp/webshare.py' < ~/.sshtools/.webshare.py ssh -t "$1" 'bash --rcfile /tmp/.bashrc_remote' } Avantages : aucun base64 gigantesque, aucun echo lent, transfert direct via SSH (beaucoup plus rapide). ``` Have fun !
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/sshtools#2
No description provided.