#paramiko — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #paramiko, aggregated by home.social.
-
Automate secure batch uploads with Paramiko: retry logic for socket/auth errors, plus MD5 checksum verification to ensure file integrity. Works on Ubuntu, Debian, and Windows with OpenSSH. #python #paramiko #sftp
https://www.valtersit.com/vault/paramiko-sftp-batch-upload-with-retry-and-checksum-verificat-4db80d/
-
ayyyyy new year new blog post! please ignore the part where I had exactly zero (0) blog posts in 2025…it was a year.
https://bitprophet.org/blog/2026/05/09/updates-for-2026/
One of the updates: #Paramiko 5.0 is out! We killed SHA1 and MD5 and suchlike, with fire. Also other things. Super stoked to have gone through a security audit courtesy of OSTIF and QuarksLab ❤️
-
ayyyyy new year new blog post! please ignore the part where I had exactly zero (0) blog posts in 2025…it was a year.
https://bitprophet.org/blog/2026/05/09/updates-for-2026/
One of the updates: #Paramiko 5.0 is out! We killed SHA1 and MD5 and suchlike, with fire. Also other things. Super stoked to have gone through a security audit courtesy of OSTIF and QuarksLab ❤️
-
Things I didn't want to build/debug for doing some remote file ops with #sftp via #python + #paramiko :
"Add option to sleep between jobs
This was added because with $PROVIDER_NAME counting files sometimes fails with -EACCES even though we have a 755 mode on the directory that failed.
With some delay during processing/between jobs (even running with -vvv causes enough) that doesn't happen..."The original code ran multiple times an hour for several years and stated failing this week...
-
#Paramiko 4.0 is out 🎉
https://www.paramiko.org/changelog.html#4.0.0
https://pypi.org/project/paramiko/4.0.0/
Arguably a negative release of everybody's favorite, if slightly long in the tooth, #Python SSH implementation:
- removed functionality (DSA)
- removed Python interpreter support (Python 3.9 is the new MSV)
- added instability (overhauled packaging practices)but hey! it took quite a while anyways…
Is also prep for some other security-focused shenanigans coming down the pipe, so stay tuned.
-
#Paramiko 4.0 is out 🎉
https://www.paramiko.org/changelog.html#4.0.0
https://pypi.org/project/paramiko/4.0.0/
Arguably a negative release of everybody's favorite, if slightly long in the tooth, #Python SSH implementation:
- removed functionality (DSA)
- removed Python interpreter support (Python 3.9 is the new MSV)
- added instability (overhauled packaging practices)but hey! it took quite a while anyways…
Is also prep for some other security-focused shenanigans coming down the pipe, so stay tuned.
-
TIL: According to the ssh_config man page, comments in ~/.ssh/config need to be on their own line. In other words,
Host foo # my awesome host
is not a valid comment.
The ssh command seems pretty relaxed about this, but other tools (e.g. Paramiko) are not necessarily.
-
TIL: According to the ssh_config man page, comments in ~/.ssh/config need to be on their own line. In other words,
Host foo # my awesome host
is not a valid comment.
The ssh command seems pretty relaxed about this, but other tools (e.g. Paramiko) are not necessarily.
-
I see #OpenSSH got to fully removing DSA key support, so that means my “probably do that in #Paramiko” todo list item has no more excuses 🤔
Well, ok, it still has a few excuses (will be years before the average sshd is OpenSSH 10.0+) but still. Needs happenin' sometime and it ain't like old releases go away, so.
-
I see #OpenSSH got to fully removing DSA key support, so that means my “probably do that in #Paramiko” todo list item has no more excuses 🤔
Well, ok, it still has a few excuses (will be years before the average sshd is OpenSSH 10.0+) but still. Needs happenin' sometime and it ain't like old releases go away, so.
-
#Paramiko 3.5 is out, with AES-GCM cipher support 🎉 🔐 🐍 https://www.paramiko.org/changelog.html#3.5.0 #SSH #Python #hashtags
-
#Paramiko 3.5 is out, with AES-GCM cipher support 🎉 🔐 🐍 https://www.paramiko.org/changelog.html#3.5.0 #SSH #Python #hashtags
-
Put out a couple small #Paramiko bugfix releases, both stemming from having fallen behind upstream changes in Cryptography.
Big thanks to the folks who patiently reported/patched/approved the relevant tickets while I've been struggling to prove myself at the new job ❤️
Hoping to stay on the treadmill for the foreseeable future. #Invoke in particular needs a lot of bug/feature work & I can arguably put /some/ dayjob time towards it. Since I, uh. Kinda shoehorned it in there. 😅
-
Put out a couple small #Paramiko bugfix releases, both stemming from having fallen behind upstream changes in Cryptography.
Big thanks to the folks who patiently reported/patched/approved the relevant tickets while I've been struggling to prove myself at the new job ❤️
Hoping to stay on the treadmill for the foreseeable future. #Invoke in particular needs a lot of bug/feature work & I can arguably put /some/ dayjob time towards it. Since I, uh. Kinda shoehorned it in there. 😅
-
Mal eine Frage an die #python Spezialisten.
Also ich bin auf der Suche nach einer "#einfachen" Lösung womit ich ohne #Subprocess Ordner mit möglichen Unterordner von einem #Remote Server auf dem lokalen Server auf dem auch das Skript läuft zu kopieren.
Wichtig es sind nicht nur Dateien sondern Ordner mit Unterordner.
Hierzu habe ich schon #Paramiko ausprobiert komme da aber nicht auf eine einfache Lösung und irgendwas vergisst er dann immer.
Des weiteren hab ich versucht mit #pyrsync zu kopieren - aber entweder hab ich Tomaten auf den Augen - jedenfalls finde ich keine Sync Funktion dazu.
Hat hier noch jemand eine andere Idee 🤔 -
Mal eine Frage an die #python Spezialisten.
Also ich bin auf der Suche nach einer "#einfachen" Lösung womit ich ohne #Subprocess Ordner mit möglichen Unterordner von einem #Remote Server auf dem lokalen Server auf dem auch das Skript läuft zu kopieren.
Wichtig es sind nicht nur Dateien sondern Ordner mit Unterordner.
Hierzu habe ich schon #Paramiko ausprobiert komme da aber nicht auf eine einfache Lösung und irgendwas vergisst er dann immer.
Des weiteren hab ich versucht mit #pyrsync zu kopieren - aber entweder hab ich Tomaten auf den Augen - jedenfalls finde ich keine Sync Funktion dazu.
Hat hier noch jemand eine andere Idee 🤔 -
🚀 Excited to share my latest project, Hacker News Over SSH! 🎉
Dive into your favorite tech stories directly from your terminal. This custom SSH server lets you browse Hacker News articles and comments interactively, offering a streamlined, text-based browsing experience.
👾 Demo:
$ ssh hn.parishod.com🔗 Source code: https://github.com/adeekshith/hn-over-ssh
💡 Inspired by a recent project where they setup a coffee shop accessible only via SSH. I liked the idea to have more apps like this accessible via the terminal so built this. Built using #Python, #Paramiko
📬 Also, I'm currently exploring new opportunities. Know of any openings or consulting work? Let's connect!
-
🚀 Excited to share my latest project, Hacker News Over SSH! 🎉
Dive into your favorite tech stories directly from your terminal. This custom SSH server lets you browse Hacker News articles and comments interactively, offering a streamlined, text-based browsing experience.
👾 Demo:
$ ssh hn.parishod.com🔗 Source code: https://github.com/adeekshith/hn-over-ssh
💡 Inspired by a recent project where they setup a coffee shop accessible only via SSH. I liked the idea to have more apps like this accessible via the terminal so built this. Built using #Python, #Paramiko
📬 Also, I'm currently exploring new opportunities. Know of any openings or consulting work? Let's connect!
-
#Paramiko 3.4 is out with the above mitigations: https://www.paramiko.org/changelog.html#3.4.0 🎉
-
#Paramiko 3.4 is out with the above mitigations: https://www.paramiko.org/changelog.html#3.4.0 🎉
-
OK, I can reveal what <REDACTED> is: an #SSH protocol-level weakness allowing active MitM attacks. (bad, but not as bad as that probably sounds.)
https://terrapin-attack.com/ - their own FAQ is tl;dr "yea probably don't drop what you're doing to patch this”.
I have been working with the researchers to update #Paramiko for this and will likely put out v3.4 today or tomorrow.
OpenSSH 9.6 is out today with their fixes.
-
OK, I can reveal what <REDACTED> is: an #SSH protocol-level weakness allowing active MitM attacks. (bad, but not as bad as that probably sounds.)
https://terrapin-attack.com/ - their own FAQ is tl;dr "yea probably don't drop what you're doing to patch this”.
I have been working with the researchers to update #Paramiko for this and will likely put out v3.4 today or tomorrow.
OpenSSH 9.6 is out today with their fixes.
-
#Paramiko's #GitHub repo now has a handful of fancy issue submission templates, courtesy of @btskinn ! 😤🙌🏻✨
Be interesting to see (or…hear about… 🙈😩) if this helps a bit with some of the noisier input.
It must be administrivia day, because I've also spent some time futzing with #ReadTheDocs to see if I can get the "you're not reading the latest version” banners to show up again for my projects. (sadly not yet, even tho I nuked my old tag-versions w/ their API.)
-
#Python #paramiko zdaje się podążać zasadą: jeśli istnieje zagmatwana paczka, która rozwiązuje jakiś trywialny problem, musimy koniecznie jej użyć. Dodatkowe punkty, jeśli zamiast użyć jej bezpośrednio będziemy importować wersję włączoną w inną ciężką zależność.
Pusta klasa działa równie dobrze (a "dataclass" byłoby poprawnym rozwiązaniem):
-
#Python #paramiko development is like: if there's a complex and convoluted third-party package solving a trivial problem, we must use it! Extra points if instead of using it directly we use the version bundled in another convoluted package. Sigh.
Protip: an empty class works as well (and a dataclass would be the correct solution):
-
#Fabric 3.1 / #Paramiko 3.2 out now, after months of hacking, rewriting, cursing ancient design decisions that don't work w/ non-OpenSSH targets, & so on & so forth.
Most of this is opt-in, experimental, and incomplete - but hey, it works well enough that my colleagues can get their ssh-agents and passphraseless pubkeys working with both #OpenSSH and #Teleport!
Solid foundation, living room furnished…rest of house forthcoming 😂
https://www.fabfile.org/changelog.html#3.1.0
https://www.paramiko.org/changelog.html#3.2.0 -
#Fabric 3.1 / #Paramiko 3.2 out now, after months of hacking, rewriting, cursing ancient design decisions that don't work w/ non-OpenSSH targets, & so on & so forth.
Most of this is opt-in, experimental, and incomplete - but hey, it works well enough that my colleagues can get their ssh-agents and passphraseless pubkeys working with both #OpenSSH and #Teleport!
Solid foundation, living room furnished…rest of house forthcoming 😂
https://www.fabfile.org/changelog.html#3.1.0
https://www.paramiko.org/changelog.html#3.2.0 -
Trying out some #Python #SFTP with #paramiko ... as Shiffman used to say "I'm not qualified for any of this" (or something to the effect)
import paramiko
with paramiko.SSHClient() as ssh:
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=username, password=password)with ssh.open_sftp() as sftp:
sftp.chdir(remote_dir)
sftp.put(local_file, remote_filename) -
Trying out some #Python #SFTP with #paramiko ... as Shiffman used to say "I'm not qualified for any of this" (or something to the effect)
import paramiko
with paramiko.SSHClient() as ssh:
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=username, password=password)with ssh.open_sftp() as sftp:
sftp.chdir(remote_dir)
sftp.put(local_file, remote_filename) -
Got to a good place with my ongoing #Paramiko (#Fabric #Python #SSH etc) work* ✨ great way to end the week!
Also weedwhacked the absolute shit out of a lawnfull of dandelions this afternoon.
It is time for some well-earned 🥃 (#Akashi white label #whisky) and 🥋📽️ (#Hapkido starting Angela Mao, aka "Lady #KungFu”).
* For those interested in Protocol Bullshit and/or Software Architecture Bullshit, see https://github.com/paramiko/paramiko/issues/23#issuecomment-1516536336 and subsequent comment(s).
-
Got to a good place with my ongoing #Paramiko (#Fabric #Python #SSH etc) work* ✨ great way to end the week!
Also weedwhacked the absolute shit out of a lawnfull of dandelions this afternoon.
It is time for some well-earned 🥃 (#Akashi white label #whisky) and 🥋📽️ (#Hapkido starting Angela Mao, aka "Lady #KungFu”).
* For those interested in Protocol Bullshit and/or Software Architecture Bullshit, see https://github.com/paramiko/paramiko/issues/23#issuecomment-1516536336 and subsequent comment(s).
-
Finally getting a few #Fabric / #Paramiko #Python somewheres.
1. New PKey property spits out proper SHA256 fingerprint so you can compare to`ssh` logs or `ssh-add -l` 🎉
2. New auth PoC works enough to try multiple auth sources in any order, & logging more obviously than the old code did (first 3 lines of screenshot)
3. …and that flow yields a useful result, which also has a useful __str__ (last 2 lines of screenshot). Maps the auth source to the resulting exception or server response.
-
Finally getting a few #Fabric / #Paramiko #Python somewheres.
1. New PKey property spits out proper SHA256 fingerprint so you can compare to`ssh` logs or `ssh-add -l` 🎉
2. New auth PoC works enough to try multiple auth sources in any order, & logging more obviously than the old code did (first 3 lines of screenshot)
3. …and that flow yields a useful result, which also has a useful __str__ (last 2 lines of screenshot). Maps the auth source to the resulting exception or server response.
-
Any #paramiko likers out there, I'm going to merge https://github.com/paramiko/paramiko/pull/2166 by this Friday at the latest (unless something real nasty shows up).
If you've got more time than sense and want to trawl through looking for serious issues, I'm listening!
-
Any #paramiko likers out there, I'm going to merge https://github.com/paramiko/paramiko/pull/2166 by this Friday at the latest (unless something real nasty shows up).
If you've got more time than sense and want to trawl through looking for serious issues, I'm listening!
-
If you are running into strange authentication failures with #Ansible and #SSH after one of the latest updates: #paramiko seems to be kinda broken. You might want to try ansible-pylibssh (https://ansible-pylibssh.readthedocs.io/en/latest/installation_guide/) as a replacement.