Is PermitRootLogin prohibit-password safe?
It allows root with a key and never with a password. Many teams go further and set it to no, using sudo from a named account.
Harden sshd before it goes live.
Paste an sshd_config or ssh_config and get findings with line numbers, severities, and plain-English reasons, plus a copy-ready hardened block and the exact ssh-keygen command for the key you need.
Loading the toolbox.
You do not have to take our word that your data stays here. Developer tools show every request a page makes, so you can watch this page work and confirm that nothing is sent. The check takes under a minute.
F12, or Cmd+Option+I on a Mac, and select the Network tab.Only two things can add a line to that log, and neither carries your data. Submitting the feedback form sends the vote and comment you typed. Typing characters in a script the page has not displayed yet, such as Cyrillic or Greek, can make the browser fetch the matching font file, and that request names only the font.
The production site also sends a Content-Security-Policy header that tells your browser to refuse connections to anywhere except this site and the anonymous analytics endpoint, so a coding mistake could not quietly send your data elsewhere.
It knows more than sixty keywords for each dialect and checks values as well as names:
Both sshd and ssh keep the first value they find for most settings. In ssh_config, that means specific Host blocks must come before Host *; put the wildcard first and its values override everything after it. The original 2ssh had this backwards and warned when Host * came last, which is the correct place. That rule now points the right way, and the hardened client block puts specific hosts first.
In sshd_config, the same rule means a hardening block belongs at the top of the file, before any Match block, so that nothing later can weaken it.
Ed25519 is the default choice: small keys, fast signatures, and support in OpenSSH since 6.5. Use ECDSA P-256 only where Ed25519 is unavailable, and RSA only for old servers, at 3072 or 4096 bits. The workbench composes the command with the right options, including KDF rounds that slow down guessing of the key passphrase, and strips characters from the comment that a shell would interpret.
The command runs on your own machine. A web page cannot and should not create your keys.
2ssh reads text. It cannot see file permissions, the contents of authorized_keys, firewall rules, your OpenSSH version, or files pulled in with Include. Treat it as a careful reviewer, not a compliance certificate, and test any change with a second session open so a mistake cannot lock you out.
Elsewhere in the toolbox: 2uuid, 2gitignore, 2csp, 2htaccess, and more on the 2toolbox home page. Part of the 2suite.io privacy-first ecosystem.
It allows root with a key and never with a password. Many teams go further and set it to no, using sudo from a named account.
CBC-mode ciphers have known weaknesses in SSH and are disabled by default in modern OpenSSH. Use chacha20-poly1305 or AES-GCM.
No. The config is parsed on this page and never sent.
A hybrid key exchange combining a post-quantum algorithm with X25519, the OpenSSH default since 9.0.