aboutsummaryrefslogtreecommitdiff
path: root/linux/ssh_for_beginners.md
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2026-02-22 19:55:49 +0100
committeralex <alex@pdp7.net>2026-02-22 19:56:48 +0100
commit42df7792e93e5d41cf4e6aefac265947e4f34db5 (patch)
treeee2ce2754d0c661a0e85023b3b822fc601efe47c /linux/ssh_for_beginners.md
parent7993f53c88f341a18f8823c4d9855dc895125bda (diff)
Move ssh for beginners to blog website
Diffstat (limited to 'linux/ssh_for_beginners.md')
-rw-r--r--linux/ssh_for_beginners.md97
1 files changed, 0 insertions, 97 deletions
diff --git a/linux/ssh_for_beginners.md b/linux/ssh_for_beginners.md
deleted file mode 100644
index e04b4b97..00000000
--- a/linux/ssh_for_beginners.md
+++ /dev/null
@@ -1,97 +0,0 @@
-Some simple advice for people who are starting to use ssh.
-
-# Use the config
-
-If you create a file `~/.ssh/config`, with contents like:
-
-```
-Host xxx
- HostName yyy
- Port 1234
- User zzz
-```
-
-, then if you type `ssh xxx`, the result will be like executing `ssh -p 1234 zzz@yyy`.
-
-Any ssh command line arguments can be encoded in an SSH client configuration file, so you can access any server with a simple `ssh host` command, without any additional parameters.
-
-Additionally, most modern systems configure SSH tab completion, so if you type `ssh <tab><tab>`, your shell will complete with the hosts in your configuration file.
-
-# Use public key authentication
-
-By default, ssh uses passwords for authentication.
-If you use a good password, then password authentication is a decent authentication method.
-
-However, you can use other methods, such as public key authentication.
-With public key authentication, you have a public and private key.
-
-If you are working on system A with your *private* key, and you copy your *public* key to system B, then you can ssh from system A to system B without entering a password.
-
-## Security
-
-Note that if someone obtains your private key, they will be able to log in to systems that trust your key.
-Knowledge of your private key is similar to knowledge of a password.
-Take care making your private key truly private.
-
-If you suspect someone else has been able to obtain your private key, then generate a new key and remove the leaked public key from all systems.
-
-Note that you can generate as many keys as you want.
-Managing multiple keys requires more effort, but in some cases it might be more convenient.
-For example, if a key is suspected to be leaked, then you might only need to revoke a key and continue using other keys.
-
-## Generating SSH keys
-
-To generate your private and public keys:
-
-```
-$ ssh-keygen
-Generating public/private rsa key pair.
-Enter file in which to save the key (/home/alex/.ssh/id_rsa):
-Created directory '/home/alex/.ssh'.
-Enter passphrase (empty for no passphrase):
-Enter same passphrase again:
-Your identification has been saved in /home/alex/.ssh/id_rsa
-Your public key has been saved in /home/alex/.ssh/id_rsa.pub
-The key fingerprint is:
-SHA256:...
-The key's randomart image is:
-+---[RSA 3072]----+
-...
-```
-
-## Key type choice
-
-OpenSSH, the standard ssh client, [changed its default type of key generation to Ed25519 in version 9.5 released in late 2023](https://www.openssh.com/txt/release-9.5).
-Previously, `ssh-keygen` generated RSA keys, as in the example above.
-Many Linux distributions still use OpenSSH versions earlier than 9.5.
-
-You can find advisories like [the following](https://www.ssh.com/academy/ssh/keygen):
-
-> It is quite possible the RSA algorithm will become practically breakable in the foreseeable future. All SSH clients support this algorithm.
-
-Although as of the time of writing this, RSA is considered safe.
-However, you can consider generating an Ed25519 key instead, following the most recent OpenSSH defaults.
-
-## Passphrases
-
-By default, if you provide an empty passphrase to `ssh-keygen`, your private key will be stored unprotected.
-Anyone that can read the private key file can obtain your key.
-
-You can use a passphrase to protect your key.
-If someone obtains a private key file but they don't know the passphrase, then they cannot use the key.
-
-Using a passphrase means that you need to type the passphrase every time you use the key, or use a system such as `ssh-agent`.
-This creates a tradeoff between security and convenience.
-
-(Note that a popular criticism of SSH public key authentication is that it is not easy for systems administrators to enforce the use of SSH passphrases.)
-
-# Further SSH features
-
-Many developers have added many useful features to SSH during many years, such as:
-
-* The `scp` command to transfer files using SSH
-* Tunnels to establish bidirectional communication between systems without such connectivity.
- (For example, to connect to your workstation from a remote system.)
-* Jump hosts that expedite the connection to a system that is not directly accessible, by using SSH to establish connection through intermediate systems.
-
-Also, SSH integrates very well with UNIX pipes and tools such as rsync, Git, and many others.