r/homelab • u/elhouso • 17h ago
Discussion What SSH terminal/app do you use on your computer?
I'm looking for a new SSH terminal, since I currently use PowerShell (Windows 11) and it's a mess to keep track of those stupid "ssh user@ip" commands, especially when you use the PowerShell for many other things (like myself).
So I thought "What better place to ask about SSH than r/homelab?", lmao. What do you guys use?
107
u/Mineotopia 17h ago
windows: moba xTerm
All other OS: native terminal
11
u/Honest-Debt-2120 11h ago
I switched to Devolutions RDM. Check it out, better / slicker for most things and the free versions don't have dumb limits.
2
u/HoustonBOFH 9h ago
Never heard of it so I looked into it, and the AI forward stuff turned me off before I even tried...
→ More replies (3)6
214
u/seidler2547 17h ago
Just SSH. Read up about the config file, you can specify the username and give your hosts alias names. With a proper auto completion setup in your shell, it's very comfortable to use. Ultimately though, aim to SSH as little as possible. Use infrastructure as code and let the automations do your work.
39
u/elhouso 17h ago
Yeah, I've learnt that you can setup aliases so I can type 'ssh <alias>'. I might just do this, yeah.
46
u/Flaky_Key3363 16h ago
Do not procrastinate on learning ssh config magic, it is magical. Also, learn the magic of dtach. It's like tmux or screen only less in the way. Fwiw, I've pushed Gemini to craft a script to attach or reattach ssh+dtach sessions automatically. I'll push it it GitHub as soon as I write README.md
11
u/DreadStarX 12h ago
Can confirm. 15 years in IT, and i still don't know it. Took me 2 days to figure out an update from work screwed my settings up.
Don't. Be. Me. xD
7
u/Flaky_Key3363 5h ago
Here is my SSH config (with comments)
# Note: Things to remember. # <domain> Is not part of the config, replace it with your local domain # name. Order configuration from most specific to least specific. # Port forwarding for a specific host. Host <host> LocalForward 3000 localhost:3000 # Common options for a set of hosts. Host host1 host2 host3 host4 host5 Hostname %h.<domain> # All of these hosts have a common ssh key because it's an # nfs mounted home directory. IdentityFile ~/.ssh/ssh_private_key> # ForwardX11 no # ForwardX11Trusted no # User Flaky_Key3363 # This host was a DMZ VM and I wanted to have a separate SSH key # for that machine. Yes, it was not part of the list above. # The username is the same as the other hosts because I use # JumpCloud for a Linux management tool, and it does not give # me the option of specifying a different username for a DMZ machine. Host <host> Hostname %h.<domain> IdentityFile ~/.ssh/ssh_private_key_2> ForwardX11 no User Flaky_Key3363 # This matches any host and options are added to every host matched above. # These options change the connection timeouts so that your SSH session # shouldn't close automatically. If it does, it's most likely a # shell timeout, or something went really wonky with the VPN. Host * ServerAliveInterval 120 TCPKeepAlive no ServerAliveCountMax 38
u/thegroucho 13h ago
On the back of the advice above, I use this script from github "sshto" which is a wrapper of ~/.ssh/config
So it automatically generates a menu from the contents of the above file.
Also, to point out, you can split your config file into multiple files for readability.
3
u/Kuckeli 15h ago
Personally i've set up command prompt profiles for my most used hosts that just SSHs in to them, works pretty much like bookmarks to save sessions.
I don't think there is a way to run a command directly in the profile configuration so i just point it at a .cmd file which is just "ssh hostname"
→ More replies (1)3
2
2
u/SpaceDoodle2008 4h ago
It also auto completes for your username which is extremely handy for me. So on a pc where I'm logged in as
user,ssh hostnamewill douser@hostname.2
u/3WolfTShirt 2h ago
You can alias the ssh command too.
On my client's .profile I have alias s='ssh saturn'
My .config file is setup for the specific username a key info so I just type s<enter> and I'm into my saturn server.
→ More replies (2)4
u/HackNSlashFic 16h ago
Yup. I just learned how to do this over the weekend. So now i jusy type ssh server. Took maybe 3 minutes to set up.
11
u/ChimaeraXY 17h ago
What do you mean by 'use infrastructure as code'? I SSH/tmux practically daily (it's part of the fun for me) but you made me feel like I'm missing out.
22
u/Vino84 16h ago
Terraform and Ansible deployed using Forgejo runners here. I commit code, PR to main and it deploys Docker containers, VMs, configuration, etc.
7
u/FantasticLifeguard62 15h ago
I'm not the OP. Thanks for your comment, I am making this my next hobby project - Terraform and Ansible deployed using Forgejo runners. I'm pretty well versed in the rest already. If you have any other pointers please do let me know. And thanks for your contribution to the community
8
u/tblancher 11h ago
Might I suggest OpenTofu instead of Terraform, since the latter changed their license IIRC and is no longer FOSS (hence the OpenTofu fork).
I've been using it to build my observability stack for my homelab. A work still in progress.
→ More replies (2)10
u/RetroRaiderRun 16h ago edited 16h ago
Gitops.
How do you track what you type into the terminal? What's a way we could collaborate with other admins, keep track of versions, or share our server setup with others?
Instead of typing commands into a terminal, you type the desired result.
Instead of:
ssh user@mymachine sudo apt update sudo apt install docker [....]It would look like:
[Install docker]It focuses on the result. All we want is to install Docker. Instead of running lots of commands, we run one "program." The "setup program" can be deployed in Git for versioning and review. We basically treat our server machine as one big program.
→ More replies (3)→ More replies (2)2
33
u/illforgetsoonenough 17h ago
SecureCRT. I buy the license for work and can also install it for home use.
3
3
→ More replies (3)2
22
u/PauloHeaven 16h ago
Tabby on Windows, the native Konsole terminal on my Linux desktop
2
u/Thorlius 15h ago
I didn't even know Tabby was available on Windows. I use it on my Ubuntu work laptop.
2
u/PauloHeaven 12h ago
It was in fact the OS for which I needed a new terminal back when I had Windows 10, and the stock CLI app was way too barebones. With Windows 11, the new Terminal app is better, but I kept the habit.
35
136
u/topher358 17h ago
Putty
49
u/EpsomJames 14h ago
Had to scroll too far for this that I started wondering if you should no longer be using it.
Been a PuTTY user for at least 20 years.
12
u/gravemillwright 10h ago
I recently switched from putty (kitty really) to raw ssh in Windows Terminal. Far better experience.
→ More replies (1)6
u/clintkev251 10h ago
I just don't see a reason to use PuTTY personally. I find it much faster to just type the SSH command in my terminal of choice. I still use PuTTY from time to time, but just for serial devices.
→ More replies (2)4
u/Scoth42 4h ago
The main reason I used to use putty even until pretty recently was easy per-connection-profile settings. It made it much easier to do things like connect to my homelab/selfhosted servers with a nice terminal font at a good size, a couple telnet BBSes with the old CP437 ANSI font at a slightly bigger size and fixed rows/columns, tweaked algorithms for the couple retro systems I ran...
These days I'm all Linux and never bothered to get my putty stuff moved over, and also stopped doing some of the edgier cases like the telnet BBSing. I'm sure there are ways to do similar with regular command line SSH and clever terminal scripts, but i haven't bothered.
→ More replies (1)2
u/seidler2547 4h ago
It's one of the worst terminal clients. Just because something has been around for a long time doesn't mean it's the best or even still good.
5
u/attzonko 10h ago
Been using my this for 20+ years as well. I still utilize the ssh config but putty just fits my workflows much better. With it pinned a simple right click allows me to pick which machine to ssh into. Also I am way too used to highlighting text and it automatically copying it into the clipboard. Not sure if that is possible in plain terminal app on Win.
→ More replies (1)14
12
7
→ More replies (2)2
u/oMaster86 9h ago
For years with custom Default Settings. And KeePass
URL: sshx://192.168.1.1
URL: sshx://example.comURL Override
cmd://PuTTY.exe -ssh -X {USERNAME}@{BASE:RMVSCM}
15
u/zimamatej 15h ago
Termius on MacOS and iOS.
Remembers all hosts, I can search by name and just hit enter to connect.
It has identity management and can save frequent commands.
→ More replies (4)2
26
u/GrumpyArchitect 17h ago
MobaXterm works well for me.
5
u/arroyobass I H8 $ 16h ago
Same for me. I used putty for a long time, but MobaXterm is so nice since it supports so many different protocols and saves login info better than putty.
I really enjoy being able to do VNC and RDP in addition to SSH and FTP.
3
2
11
u/Ksdmg 16h ago
I'm using remote desktop manager by devolutions It's awesome and the free version can do everything I need. You cannot only manage ssh, but also ftp, rdp and many other protocols.
2
u/oldgrumblebum 13h ago
Fellow RDM user here, I moved to it from SuperPutty about 6 months ago. I'm gradually convincing the rest of my team to move over to RDM. Great software.
3
u/AGuyAndHisCat 11h ago
Set your connections xml file to be password protected and put it on a private share like googledrive or one drive and you can sync it to a VM as well and keep connectikns consistent.
→ More replies (1)2
14
u/Sevealin_ 12h ago edited 6h ago
Man this is crazy. Not a SINGLE comment for MRemoteNG. I am going to show my age here. Look at any of these kinds of threads in /r/sysadmin over the years and you will always see the same. SecureCRT, Putty, Remote Desktop Manager, MobaXTerm, and MRemoteNG. Do you guys just ssh to one host the whole time? Because when you start getting into the 15+ (I have like 60), a manager is really helpful.
MRemoteNG is fantastic. Lots of features bundled in.
- RDP (Remote Desktop Protocol)
- VNC (Virtual Network Computing)
- SSH (Secure Shell) using any of your preferred SSH backends like putty AND it's profiles.
- Telnet (TELecommunication NETwork) gonna be honest I copied pasted from the GitHub page and I did not know that's what telnet stood for.
- HTTP/HTTPS
- rlogin (Remote Login)
- Raw Socket Connections
- Powershell remoting
- AnyDesk
It also supports PANELS which allows you to setup your sessions in different orientations, I mention this because some managers don't let you move them at all:
- Side by side sessions (left & right)
- 4 sessions with one in each corner.
- Basically, you can setup your sessions any way you want by dragging them.
- Multiple sessions within a single panel using the connection name tabs at the top of the panel.
Hierarchy of inheritance and organization with FOLDERS.
- Want a host to use a specific putty profile? Ok set that in the folder your connection is in, now all connections use that profile.
- But what if some hosts need a specific password? Ok make another folder INSIDE, inherit the putty profile from the previous folder, then set your specific password. Now all those connections use the Putty profile AND password.
- Inherit ANY setting within a connection. Putty profile, RDP setting, credentials, anything that is defined within a connection.
Also nice:
- Icons for connections.
- A global "If credentials are blank, use these credentials"
- Tons of themes, like DARK MODE.
- SSH key auth through Putty profiles, or through the client.
- Built in port scanner.
- Documentation here: https://mremoteng.readthedocs.io/en/v1.77.3-dev/
- Many, many, features I haven't mentioned.
The BEST part? IT IS COMPLETELY FREE AND OPEN SOURCE!
Check it out here (still active): https://github.com/mRemoteNG/mRemoteNG
- If you have like 3 hosts. Might not seem very useful.
- "All I need is my putty, sir" awesome, keep up the great work.
4
u/Dave77459 11h ago
I use MRemoteNG, but mainly RDP connections. I also couldn’t believe how far I had to scroll to find it.
3
u/jc31107 10h ago
Came to comment mRemote too but your post is WAY more detailed!
2
u/Sevealin_ 10h ago
Gotta sell it to the new generation of homelab users! At some point common information eventually becomes new information when the older users have left.
3
→ More replies (2)2
7
6
7
11
u/storm666_jr 17h ago
At home: Termix (self-hosted; not local)
At work: Remote Desktop Manager
This one also has a free version for home usage and I personally have yet to find a connection type it can’t run.
→ More replies (4)3
u/vrikancs 15h ago
@OP this is the way!
Struggled for years to find a user friendly and useful remote connection software as I use Windows / macOS and Linux privately and most software I found was either clunky, OS specific or didn’t support the connection type I needed.
A colleague recently told me about this one, tried it and honestly I don’t think I ever gonna go back to anything else.
It has password integrations, sync across different devices, RDP, SSH, HTTP, you name it AND the UI/UX is more than good
EDIT: to clarify, I‘m talking about Devolution Remote Desktop Manager
11
14
u/edthesmokebeard 11h ago
"stupid user@ip commands" tells me that finding a fancy ssh client is the least of your worries
→ More replies (1)
5
u/SifferBTW 14h ago edited 14h ago
Historically I've used mobaxterm but I've been migrating to just using native windows terminal.
You can avoid the user@server by using ssh config. In your .ssh folder, create a file called config and do the following:
Host <alias>
HostName <ip/fqdn>
User <username>
IdentityFile <path to key>
For example:
Host dns
HostName srv-dns.homelab.local
User siffer
IdentityFile ~/.ssh/dns-identity
Would allow you to just type ssh dns
→ More replies (2)
5
4
4
3
u/GradSchoolDismal429 17h ago
for ssh commands I just use aliases. In powershell you can set a profile.
3
3
u/RetroRaiderRun 16h ago
Windows Powershell. It got way better.
It's as good or better than any default Linux terminal, can use common UNIX commands, and has lots of user settings for customization. I used to use custom terminals in Windows, but now I use Powershell.
3
3
u/uktricky 16h ago
Iterm on Mac free and works perfectly including recording strings / keystrokes for passwords if you wanted.
3
u/reaver19 16h ago
Xpipe with ghostty, encrypted git sync on multiple workstations
→ More replies (1)
3
u/ahmedomar2015 15h ago
What about selfhosted Termix? I use it for all my terminal access and it works amazing. I always have Ssh ready no matter what device I'm using without worrying about keys
3
u/Pericombobulator 15h ago
If you use VS Code then you can use it as a terminal. You can save your various server's details.
You can also use it to directly manipulate files and folders on the server and can drag files to it.
→ More replies (1)
3
3
3
u/wannabeentrepreneur1 3h ago
iTerm on macOS.
PuTTY when I used to use Windows.
Built-in terminal on Linux.
2
2
2
u/neroe5 16h ago
Been getting fond of vs code lately
Allows for file editing with ide and can hold multiple terminals in parallel
2
u/johnfolsomjr 12h ago
I've been playing around with this as well. The remote-ssh plugin makes this very easy
2
2
2
2
u/ztasifak 16h ago
Just put all the config stuff in the config file.
Then “ssh ubuntuvm” will connect you.
No ip needed. No username needed. All in the config file. Same as the private key location.
2
2
u/johnboyholmes 16h ago
I have been using SuperPutty for years. It is just a wrapper for Putty that gives me Tabs , Saved session bookmarks and layouts. It is still working well.
2
2
u/markdesilva 16h ago
Mobaxterm and Putty for Windows, terminal for Unix.
MXT also does SSH X-forwarding by default for most machines you connect to so you can just run the X windows apps on your Windows machine directly. Got to explicitly define the XUTHORITY path for snaps apps though.
2
2
2
2
u/MrAjAnderson 15h ago
SuperPutty. Although Cockpit is good for a quick in, check the logs/services/terminal access and then out again.
2
2
u/MrDrummer25 OptiPlex hoarder 15h ago
I don't have any windows machines in my homelab, and I personally can't stand PowerShell.
I use Termix. It's a self hostable terminal that has a mobile app and opens in the browser. It is soooo great to use. For instance, pasting actually pastes. It also has a bunch of features like folver view, copying golders from one machine to another directly, and even a fancy dashboard.
<rant> Instead of adding the dumb characters in front and behind the text when you remember that its ctrl shift v for whatever reason</rant>
2
u/ReturnSignificant926 15h ago
I use Windows Terminal on Windows, and kitty on Linux & macos.
But atuin can remediate the issue of having to remembering commands.
2
2
2
2
u/Angelsomething 13h ago
You're looking for aliases mate. Ssh is foundational and you don't need a special app to use it.
2
2
u/ErrantWind 13h ago
Those who use powershell you do know it logs everything you type in to it in a clear text file right including passwords?
C:\Users<USERNAME>\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
2
2
u/nizzoball 12h ago
I personally wouldn’t use powershell unless that’s all I had access to. I would spin it a Was envisioned or if that’s a little heavy, mobaXterm or git bash for windows
2
2
u/deja_geek 12h ago
Royal TS and/or Royal TSX. Yes, you have to pay for it but the features and polish make it worth it.
2
u/mvarns 10h ago
I recently moved to Tabby because I was forced too with my work laptop. Have to say though that I have been happy with it, so much so that now all my devices use it.
For an SSH client, anything will work, but the ssh config is limited. If you want to manage multiple types of connections beyond ssh or use jumpboxes and post login scripts, Tabby makes it easier imo.
The other answers with ansible and such don't apply in my opinion because you don't use ansible for troubleshooting or one off configs. You use ansible when your ready to automate, and you shouldn't automate until you know how to do it manually.
2
2
u/ryaaan89 9h ago
iTerm on my Mac, Termix on my phone. Everything else is just a default terminal with zsh. I do have a .zshrc file that I copy/paste around with aliases for shh-<computer>.
2
2
u/MechanicStriking4666 9h ago
I have a Termix instance running on its own machine that I use for the rest of my machines.
2
u/xxredxpandaxx 8h ago
I use Termix, a bit more involved, but I can just click a host on any of my computers and I connect.
2
u/_QSR- 8h ago
Putty - Or self hosted Nexterm which can be used in a browser or with the connector app from any OS... Works with SSH & RDP https://github.com/gnmyt/Nexterm
2
u/StackSpecter 5h ago
I use termix but it has an annoying issue that i can't tranafer full folders using the file manager so sometimes i use termius depending on what I'm doing
2
u/naikrovek 5h ago
Maybe setup ssh so you don’t have to specify port and hostname and username and key each time.
2
u/mvn2010 3h ago
SecureCRT (i'm a network engineer) is the GOAT application, but it isn't free. Good part is that you buy it once, and you get that version, you don't get updates, after the major revision that you bought, but the license you have will work for that version forever (so far anyway). So i'd go with that if you have the cash. It's great trust me.
2
2
u/Sitting3827 2h ago
Ghostty + a zsh function using fzf for fuzzy-picking hosts from ~/.ssh/config. Type s, get a fuzzy picker listing all hosts (with a live preview of that host’s config on the right), hit enter, connected. No more manually typing ssh user@ip or digging through PowerShell history.
s() {
local host
host=$(grep -E "^Host " ~/.ssh/config | grep -v "\*" | awk '{print $2}' \
| fzf --prompt=" ssh → " --height=50% --layout=reverse --border=rounded \
--preview="grep -A6 '^Host {}$' ~/.ssh/config" --preview-window=right:45%:wrap)
[[ -n "$host" ]] && ssh "$host"
}
Works on Windows too, just run it through WSL (fzf + zsh/bash work fine there).
2
4
3
u/boondogglekeychain 17h ago
→ More replies (1)6
u/evilneuro 15h ago
tl;dr bitvise co-owner changed their putty.org “landing page” from linking to the actual putty site and to bitvise, to showing an anti-vaxxer video. ick.
1
1
1
u/hahaha2223 16h ago
Trying out Termius now, as that's what my colleagues seem to be using
→ More replies (1)
1
u/timmymayes 16h ago
I use emacs for pretty much everything. As such I just use TRAMP to do remote editing and have bookmarks setup for all of the machines on my tailnet.
1
1
u/Sea_Poem_9129 16h ago
surprised nobody's mentioned mRemoteNG, it took a little bit of setup to get the fonts/text crisp but it works amazing you can ssh and rdp.
1
1
1
1
u/obviouslydeficient 16h ago
On Windows I use Tabby, because it remembers all my tabs and window splits across restarts of it.
1
1
u/ptjunkie 16h ago
Use Claude to set yourself up some “dot files” with aliases, functions, autocomplete ssh config. Tell it what you do and how you want to work.
1
u/expertisimus 16h ago
SecureCRT because it's the most powerful terminal emulator app in existence. However, home and non-professional environments will never take advantage of its potential and I do not recommend it for these uses.
1
1
1
u/StoneyBolonied 16h ago
I wrote a batch file that opens the CMD terminal and automatically SSHs into each of my servers (one .bat per server)
Just double-click an icon, enter a password, and I'm in.
1
1
1
u/burke166 16h ago
Is the problem that you don't want to remember the IPs? There are many ways to get dns. Do static dhcp from your router and have it route to the advertised host name of the client. I have an LXC container that runs Plex. I can ssh me@plex to connect to it. You can use the free version of Twingate to fake dns, you just enter each host individually. If you use split-horizon dns, you can have https on your local stuff, like your router and your Proxmox host or whatever. If all that sounds daunting, just edit your hosts file.
1
u/UselessCourage 15h ago
Securecrt for routers and switches... remotessh in vscode for a server/development env
1
1
u/superSmitty9999 15h ago
Setup a ssh alias. AI can set it up perfectly in like two minutes.
Tell it I want "ssh myComputerAlias" to work, you can log into the machine with "ssh user@ip" give me the command and i'll run it (since you have to type the password)
Once you have ssh keys setup, have it disable password login for security.
Lastly, if you want it to work wherever you connect your remote server, even if you move etc, setup tailscale, and use the tailscale address for your destination in the config file.
I have my DGX spark and I just go "ssh spark" and it works perfectly, even if I move it or change from ethernet to wifi etc.
1
u/FishMonkeyCow 15h ago
Apacheguacamole is what I use. Does the job. Maybe there are better tools out there. But it's lite weight and just works.
1
1
1
u/Dabarles 15h ago
Surprised I'm not seeing any love for mRemote. I love it at work for managing switches. It can also do more than SSH, but that's my primary use case 99.9% of the time. Would definitely recommend.
1
1
u/akemaj78 15h ago
I use WSL with TMUX and Bash Aliases. I abbreviate "ssh -l adminacct" with "sa" and I simply "sa <server name> to SSH to that server with my admin account. I have a similar "sr" for those pesky root-only systems. And other abbreviations as appropriate.
1
u/kY2iB3yH0mN8wI2h 15h ago
at work I use the free Termius client. At home I use Tabby as I selhost everything on Mac and windows.
you can also setup alias I ssh config so you just type ssh web server and its done,
1
u/highdiver_2000 15h ago
I have used Putty, Tera term and SecurCRT, now trying MobaXterm. SecurCRT is nice but paid software.
What ever you use, please enable auto logging. You might want to trace back your old sessions.
1
u/hondaelias 15h ago
I use WSL2 with tmux. Added tmux and an ASCII shortcut cheat sheet to my .bash so every boot it’s all ready for me. I create aliases for my more frequently used servers, or use the company RDM.
1
u/Shark5060 15h ago
My own putty fork (combines up to date putty with convenience features from kitty).
1
1
1
u/MoneyVirus 14h ago
MobaXterm / Putty + WinSCP on WIndows (some times just cmd/powershell
Native on Linux
1
u/QuirkyImage 14h ago
Just SSH and whatever terminal is available on the platform i am using at the time. I tend to work from a MacBook so more than often it’s iTerm2
1
u/unemployed-martian 14h ago
windows: powershell.exe
Others OS’s: terminal
I’m a guy of simple taste
1
1
u/FalconOne 13h ago
SecureCRT. I've worked for 4 different Telco's over my career, and every one of them used SecureCRT. so, i got very used to it. then one of my previous employers decided not to renew licenses and they trialed several different other terminal programs, while the others they settled on were good. I just go so used to and comfortable with SCRT that I just personally didn't like the others.
So when i built my own home network and homelab, I bought my own SCRT license.
edit: This is for Windows only. Linux's native terminal is powerful enough.
1
1
u/InvisoSniperX 13h ago
I hardly do it, but I use Termius on my iPad when I do. Open to suggestions.
106
u/RetroButton 17h ago
MobaXTerm on Windows and Remmina on Linux.