A Windows desktop SSH/SFTP client built with customtkinter, paramiko, and Pillow.
It provides:
- two local panes for local file browsing and transfer
- one remote pane for SSH/SFTP browsing
- remote file download, open, preview, rename, delete, and folder creation
- local copy/move between panes
- a Linux-oriented SSH command runner
- per-user bookmarks, filters, sort controls, and saved UI state
- Python 3.10+
paramikocustomtkinterpillow
Install dependencies:
python -m pip install paramiko customtkinter pillowRun the app:
python ssh_client.pyThe app optionally reads an ssh.txt file from:
%USERPROFILE%\\ssh.txt- the same folder as
ssh_client.py
Expected format:
host
username
password
22
Line 4 is optional and defaults to 22.
This project is designed so the script itself can be shared without carrying personal machine settings:
- local bookmarks default from the current user profile at runtime
- remote bookmarks default from the loaded SSH username
- UI state is saved per user in their home directory
- config is saved per user in their home directory
- temp files for remote open/preview use a dedicated app temp folder and are cleaned up
For non-technical users, package it as a Windows executable with PyInstaller:
python -m pip install pyinstaller
pyinstaller --noconfirm --onefile --windowed ssh_client.pyThe built executable will appear in dist\\.
- Remote
Opendownloads a temporary local copy, then opens it with the local default application. Download To AandDownload To Bsave real copies into the visible local panes.- Remote delete is permanent and includes recursive folder deletion after confirmation.