How to Connect Windows to Fedora 33 via SSH with PuTTY: Setup, Transfer, and Tunneling
This guide explains how to configure the SSH daemon on Fedora 33, use PuTTY on Windows to establish a secure remote console, transfer files with pscp, and create SSH tunnels for forwarding HTTP services, including detailed command examples, verification steps, and security warnings.
Background
SSH is the default secure remote access protocol in Linux and is increasingly used on Windows. The article demonstrates using the open‑source PuTTY client to connect from Windows to a Fedora 33 system.
1. Configuring the SSH daemon on Fedora
Check the configuration file /etc/ssh/sshd_config and uncomment the needed options (e.g., #Port 22). After editing, verify that the service is running: systemctl status sshd If the service is inactive, start it: systemctl start sshd To follow the daemon’s log in real time for debugging:
journalctl -f -u sshd2. Establishing a remote console with PuTTY
Download and install PuTTY on Windows. In the “Host Name (or IP address)” field enter the Fedora IP address (e.g., 192.168.1.60) and click Open . PuTTY will show the server’s host‑key fingerprint; verify it against the fingerprint generated on the Linux side:
ssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ed25519_key.pubAccept the key to store it in the Windows registry under HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\SshHostKeys. Log in with your Linux username and password to obtain a shell.
3. Transferring files with pscp
PuTTY’s file‑copy utility pscp.exe resides in the installation directory (e.g., C:\Program Files (x86)\PuTTY\pscp.exe). Use it to copy files in either direction:
C:\Program Files (x86)\PuTTY\pscp.exe [email protected]:/home/stephan/MyFile.txt . C:\Program Files (x86)\PuTTY\pscp.exe MyFile.txt [email protected]:/home/stephan/The generic syntax is pscp.exe <source> <target>.
4. Creating SSH tunnels for a web service
Assume a containerised application (Pythonic) exposing ports 7000 (editor) and 8000 (code‑server) on the Linux host. Pull and run the container with Podman:
podman pull pythonicautomation/pythonic podman run -d -p 7000:7000 -p 8000:8000 pythonicIn PuTTY, navigate to Connection → SSH → Tunnels and add two local forwardings:
Source 7000 → Destination localhost:7000 Source 8000 → Destination localhost:8000 Save the session and open the SSH connection. After the tunnel is active, open a browser on Windows and visit http://localhost:7000 to see the editor interface.
Security considerations
Never expose port 22 to the Internet with weak credentials. Prefer key‑based authentication: store the public key in ~/.ssh/authorized_keys on the server and keep the private key on the client.
Debugging tips
If the connection fails, monitor the SSH daemon logs with journalctl -f -u sshd to view detailed DEBUG output.
Liangxu Linux
Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
