Generate keys
ssh-keygen
Send your public key to trusted parties by copying the output below. Code Talkers should email them to netcmnd
cd ~/.ssh/ cat id_rsa.pub
If you emailed me your key, I can add you to the Code Talkers Hacking Club Git Lab. Now, you should enable your digital ocean vps for ssh as follows
ssh-copy-id username@xxx.xxx.xxx.xxx
That's it - you should now no longer need to enter your password. If this is not working, check your configuration using the commands below and try again. You might need to enable public key authentication.
cd /etc/ssh/ sudo nano sshd_config sudo systemctl restart sshd.service sudo systemctl restart ssh.service
Keep those public and private key pairs protected. If you did not change anything, they have the permissions below. But we all make mistakes!
chmod 700 ~/.ssh chmod 644 ~/.ssh/id_rsa.pub chmod 600 ~/.ssh/id_rsa chmod 755 ~/
Using with screen … more later
ssh -t xx.xx.xx.xx screen -DRO
config options for /etc/ssh/sshd_config
Port 53535 PubkeyAuthentication yes PasswordAuthentication no PermitRootLogin prohibit-password Protocol 2 AllowUsers sally AllowUsers johnny PermitEmptyPasswords no X11Forwarding yes PrintMotd yes ChallengeResponseAuthentication no UsePAM yes
Then, always restart the service
sudo systemctl restart sshd.service
Debian 14 changes to ssh. The kex packets are so large they may not traverse on vpn connections, etc. On the box you connect to open sudo nano /etc/ssh/sshd_config“
KexAlgorithms curve25519-sha256,ecdh-sha2-nistp256,diffie-hellman-group14-sha256
On the box reaching out or from which you are connecting, open sudo nano /etc/ssh/ssh_config and enter these two lines at the end with the same indentation:
KexAlgorithms curve25519-sha256 IPQoS none
If you have not yet noticed, nor made any changes and need to connect quickly, use the following:
ssh -o KexAlgorithms=curve25519-sha256 -o IPQoS=none root@10.13.13.20
Then, if you use git across a vpn, you will now need to accept those environment variables. So on the git server's sshd_config file, add the git protocol as an allowance:
AcceptEnv LANG LC_* GIT_PROTOCOL
— oemb1905 2026/09/11 17:38