This is an SSH guide to help you set up, configure, connect, and transfer files using SSH.
Install SSH on your system
sudo apt install openssh-server -y
sudo yum -y install openssh-server
sudo pacman -S openssh
Run SSH server on startup
sudo systemctl start ssh sudo systemctl enable ssh
**Note: sshd instead of ssh for arch
Make sure ufw isn’t blocking ssh and enable it for passthrough.
sudo ufw allow ssh sudo ufw limit ssh sudo ufw enable sudo ufw status
Options for /etc/ssh/sshd_config
_* No should be used when facing the internet and key authentication must be used for security_
_* This is used to forward GUI programs (Xming required for Windows)_
AllowUsers Fred Wilma
DenyUsers Dino Pebbles
_* Block and Allow certain users_
Security of a SSH Server
It should be noted that if you open up your firewall and port forward port 22 on a standard SSH server install… you will probably be hacked. This is extremely reckless and should never be done. I highly recommend doing ALL of the following measures if opening up SSH to the outside world.
First, obscure the SSH port by changing it in the sshd_config file
# Change Default port 22 to 2222
Second, disable Password Authentication and use ssh keys instead. This is a complex procedure and recommend using the following script to optimize the encryption and setup process.
Third, verify you are using tar-pitting or rate limiting on your SSH port. This will prevent brute force attacks
ufw limit proto tcp from any port 2222
*Note this can also be done via iptables and it needs to be modified to your SSH port.
Connect via SSH
PuTTY https://putty.org/ (ssh program)
Xming required for X11 forwarding https://sourceforge.net/projects/xming/
Verify X11 Forwarding in PuTTY options
Video Walkthrough SSH Access
Transfer Files via SSH
The difference between SFTP and SCP by default are one is interactive and the other isn’t. SCP is faster, but can’t be resumed where SFTP and slower and can be.
Use the native file browser, in the location bar type the following:
Using the terminal
Remote PC Syntax:
scp localfile username@serverip:/remote/server/path
WinSCP is my recommended transfer tool.
pscp.exe for command line. https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
I live stream on Chris Titus Tech YouTube Channel every Friday at 10 AM CST and archive clips to Titus Tech Talk. I also regularly publish to christitus.com, but if you’d like to contact me directly or want to contribute to help keep these articles and videos being made consider joining the CTT members.
Two Memberships exist:
- ChrisTitus.com Members Section (CC Only)
- Full Archive of All Unlisted Live Streams
- Direct Members Only Email
- Monthly Members Only Video
- Starting at $2 Per Month (100% of Proceeds goes to Chris Titus Tech)
- YouTube Chris Titus Tech Membership (All Payments Accepted)
- YouTube Emojis for Comments and Live Chat
- YouTube Badges that changes based on membership time for comments and chat.
- All YouTube comments are highlighted when I review comments daily.
- Immediate Access to Full Live Streams
- $4.99 Per Month (70% of the Proceeds goes to Chris Titus Tech)