[email protected] (Jérémie Courrèges-Anglas) writes:
> Hi,
>
> some time ago sshd(8) got its list of kex/macs/ciphers shrunk. This
> breaks py-paramiko both on the kex and macs POV.
>
> From transport.py:
> _preferred_ciphers = ( 'aes128-ctr', 'aes256-ctr', 'aes128-cbc',
> 'blowfish-cbc', 'aes256-cbc', '3des-cbc',
> 'arcfour128', 'arcfour256' )
> _preferred_macs = ( 'hmac-sha1', 'hmac-md5', 'hmac-sha1-96',
> 'hmac-md5-96' )
> _preferred_keys = ( 'ssh-rsa', 'ssh-dss', 'ecdsa-sha2-nistp256' )
> _preferred_kex = ( 'diffie-hellman-group1-sha1',
> 'diffie-hellman-group-exchange-sha1' )
> _preferred_compression = ( 'none', )
>
> You can match this against sshd_config(8).
>
> Some upstream tickets:
> https://github.com/paramiko/paramiko/issues/242
> https://github.com/paramiko/paramiko/issues/161
>
> If you have a github account, please ping them. :)
>
> Meanwhile, consumers should be fixed, this includes duplicity for which
> I have a patch (for another mail).
- change the default from paramiko to pexpect
- document it
- remove dep on paramiko
ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/duplicity/Makefile,v
retrieving revision 1.28
diff -u -p -r1.28 Makefile
--- Makefile 7 Apr 2014 06:24:08 -0000 1.28
+++ Makefile 14 Apr 2014 14:40:33 -0000
@@ -4,7 +4,7 @@ COMMENT = encrypted backup using rsync a
MODPY_EGG_VERSION = 0.6.23
DISTNAME = duplicity-${MODPY_EGG_VERSION}
-REVISION = 0
+REVISION = 1
CATEGORIES = sysutils
@@ -26,7 +26,6 @@ LIB_DEPENDS += net/librsync \
RUN_DEPENDS += net/py-boto \
net/ncftp \
security/py-gnupg \
- security/py-paramiko \
sysutils/py-lockfile
MAKE_ENV += LIBRSYNC_DIR=${LOCALBASE}
Index: patches/patch-bin_duplicity_1
===================================================================
RCS file: patches/patch-bin_duplicity_1
diff -N patches/patch-bin_duplicity_1
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-bin_duplicity_1 14 Apr 2014 13:17:14 -0000
@@ -0,0 +1,52 @@
+$OpenBSD$
+Document the ssh backend change from paramiko to pexpect.
+--- bin/duplicity.1.orig Mon Apr 14 11:44:24 2014
++++ bin/duplicity.1 Mon Apr 14 15:16:56 2014
+@@ -104,7 +104,7 @@ There are two
+ for scp/sftp/ssh access (also see
+ .BR "A NOTE ON SSH BACKENDS" ).
+ .TP
+-.BR "ssh paramiko backend" " (enabled by default)"
++.B "ssh paramiko backend"
+ .B paramiko
+ (SSH2 for python)
+ - http://pypi.python.org/pypi/paramiko (downloads);
http://github.com/paramiko/paramiko (project page)
+@@ -113,7 +113,7 @@ for scp/sftp/ssh access (also see
+ (Python Cryptography Toolkit)
+ - http://www.dlitz.net/software/pycrypto/
+ .TP
+-.B ssh pexpect backend
++.BR "ssh pexpect backend" " (default on OpenBSD)"
+ .B sftp/scp client binaries
+ OpenSSH - http://www.openssh.com/
+ .TP
+@@ -823,9 +823,9 @@ This password is also used for passphrase-protected ss
+ .TP
+ .BI "--ssh-backend " backend
+ Allows the explicit selection of a ssh backend. Defaults to
+-.BR paramiko .
++.BR "pexpect on OpenBSD" .
+ Alternatively you might choose
+-.BR pexpect .
++.BR paramiko .
+ .br
+ See also
+ .BR "A NOTE ON SSH BACKENDS" .
+@@ -1511,7 +1511,7 @@ backend allows to define
+ .BR --scp-command " and"
+ .BR --sftp-command .
+ .PP
+-.BR "SSH paramiko backend " "(selected by default)"
++.B "SSH paramiko backend"
+ is a complete reimplementation of ssh protocols natively in python. Advantages
+ are speed and maintainability. Minor disadvantage is that extra packages are
+ needed as listed in
+@@ -1524,7 +1524,7 @@ mode (
+ .I --use-scp
+ ) though scp access is used for put/get operations but listing is done via
ssh remote shell.
+ .PP
+-.B SSH pexpect backend
++.BR "SSH pexpect backend" " (selected by default on OpenBSD)"
+ is the legacy ssh backend using the command line ssh binaries via pexpect.
+ Older versions used
+ .I scp
Index: patches/patch-duplicity_globals_py
===================================================================
RCS file: patches/patch-duplicity_globals_py
diff -N patches/patch-duplicity_globals_py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-duplicity_globals_py 14 Apr 2014 10:22:38 -0000
@@ -0,0 +1,15 @@
+$OpenBSD$
+Switch the default ssh backend from paramiko to pexpect.
+--- duplicity/globals.py.orig Mon Apr 14 00:01:15 2014
++++ duplicity/globals.py Mon Apr 14 00:02:16 2014
+@@ -213,8 +213,8 @@ sftp_command = None
+ # default to batch mode using public-key encryption
+ ssh_askpass = False
+
+-# default ssh backend is paramiko
+-ssh_backend = "paramiko"
++# default ssh backend is pexpect
++ssh_backend = "pexpect"
+
+ # user added ssh options
+ ssh_options = ""
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE