Skip to content

add: --no-probe to skip the SSH server check on the server command - #67

Merged
rustonbsd merged 3 commits into
rustonbsd:mainfrom
Kiraprint:no-probe
Nov 10, 2026
Merged

rustonbsd merged 3 commits into
rustonbsd:mainfrom
Kiraprint:no-probe

Conversation

@Kiraprint

Copy link
Copy Markdown

Closes #61.

iroh-ssh server opens a TCP connection to the local sshd at startup, reads the banner and drops it. sshd sees a real connection being opened and closed without a handshake:

sshd-session[4449]: Connection from ::1 port 43360 on ::1 port 22 rdomain ""
sshd-session[4449]: kex_exchange_identification: Connection closed by remote host [preauth]

--no-probe skips is_ssh_server_available():

iroh-ssh server --no-probe

Default behaviour is unchanged — the check still runs and still fails fast when nothing answers on the port:

$ iroh-ssh server --ssh-port 2299
SSH server not available on port 2299, incoming connections will fail. ...
Error: no ssh server available on specified port

$ iroh-ssh server --ssh-port 2299 --no-probe
Waiting for incoming connections...
Press Ctrl+C to exit

18 insertions / 2 deletions: a skip_server_probe builder flag, the --no-probe arg on server, and a guard around the probe.

Two notes:

  • I named it --no-probe after your first suggestion; happy to rename to --skip-server-probe if you prefer.
  • service install does not forward the flag yet — the installed unit still probes. Say the word and I'll thread it through ServiceParams in a follow-up (or in this PR if you'd rather have it complete).

@rustonbsd

rustonbsd commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Hi, @Kiraprint, thank you for both the PRs! I will take a look in the next couple of days as soon as I have some time. They both look good to me, the no-probe just cleans up a todo and can probably be merged in as is and the relay url fix (adding the missing wiring through to the proxy command) is also needed, there I just have to merge my changes to the address lookup code with the relay changes.

Actually looks like it might not even interfere with my address lookup changes at all, will look at it in more detail in a bit ^^

Kirgod666 and others added 2 commits November 10, 2026 13:23
Starting the server opens a TCP connection to the local sshd, reads the
banner and drops it, which sshd logs as an aborted preauth connection:

    sshd-session[4449]: Connection from ::1 port 43360 on ::1 port 22
    sshd-session[4449]: kex_exchange_identification: Connection closed by remote host [preauth]

`--no-probe` skips `is_ssh_server_available()`. The default is unchanged: the
check still runs and still bails when no SSH server answers.

Refs rustonbsd#61
@rustonbsd

rustonbsd commented Nov 10, 2026 •

Copy link
Copy Markdown
Owner

Hi @Kiraprint @Kirgod666, thanks for the PR, will look at your relay one next.

All tested on windows and linux with and without server and service, merge ready.

@rustonbsd
rustonbsd merged commit ea56457 into rustonbsd:main Nov 10, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a CLI option to disable the sshd availability probe at startup

3 participants