From effa575fc7f028ee71fda16209d3d81af336b730 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Tue, 23 Feb 2016 10:31:52 +0100 Subject: [PATCH] tests/sshserver.pl: use RSA instead of DSA for host auth DSA is no longer supported by OpenSSH 7.0, which causes all SCP/SFTP test cases to be skipped. Using RSA for host authentication works with both old and new versions of OpenSSH. Reported-by: Karlson2k Closes #676 --- tests/.gitignore | 4 ++-- tests/sshhelp.pm | 4 ++-- tests/sshserver.pl | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/.gitignore b/tests/.gitignore index 224e1923c..dc45f03a8 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -3,8 +3,8 @@ configurehelp.pm curl_client_key curl_client_key.pub curl_client_knownhosts -curl_host_dsa_key -curl_host_dsa_key.pub +curl_host_rsa_key +curl_host_rsa_key.pub curl_sftp_cmds curl_sftp_config curl_ssh_config diff --git a/tests/sshhelp.pm b/tests/sshhelp.pm index b6294bad7..c5618a109 100644 --- a/tests/sshhelp.pm +++ b/tests/sshhelp.pm @@ -120,8 +120,8 @@ $sshlog = undef; # ssh client log file $sftplog = undef; # sftp client log file $sftpcmds = 'curl_sftp_cmds'; # sftp client commands batch file $knownhosts = 'curl_client_knownhosts'; # ssh knownhosts file -$hstprvkeyf = 'curl_host_dsa_key'; # host private key file -$hstpubkeyf = 'curl_host_dsa_key.pub'; # host public key file +$hstprvkeyf = 'curl_host_rsa_key'; # host private key file +$hstpubkeyf = 'curl_host_rsa_key.pub'; # host public key file $cliprvkeyf = 'curl_client_key'; # client private key file $clipubkeyf = 'curl_client_key.pub'; # client public key file diff --git a/tests/sshserver.pl b/tests/sshserver.pl index 77554643f..b0c0229b6 100755 --- a/tests/sshserver.pl +++ b/tests/sshserver.pl @@ -371,12 +371,12 @@ if((! -e $hstprvkeyf) || (! -s $hstprvkeyf) || # Make sure all files are gone so ssh-keygen doesn't complain unlink($hstprvkeyf, $hstpubkeyf, $cliprvkeyf, $clipubkeyf); logmsg 'generating host keys...' if($verbose); - if(system "\"$sshkeygen\" -q -t dsa -f $hstprvkeyf -C 'curl test server' -N ''") { + if(system "\"$sshkeygen\" -q -t rsa -f $hstprvkeyf -C 'curl test server' -N ''") { logmsg 'Could not generate host key'; exit 1; } logmsg 'generating client keys...' if($verbose); - if(system "\"$sshkeygen\" -q -t dsa -f $cliprvkeyf -C 'curl test client' -N ''") { + if(system "\"$sshkeygen\" -q -t rsa -f $cliprvkeyf -C 'curl test client' -N ''") { logmsg 'Could not generate client key'; exit 1; } @@ -729,11 +729,11 @@ if(system "\"$sshd\" -t -f $sshdconfig > $sshdlog 2>&1") { if((! -e $knownhosts) || (! -s $knownhosts)) { logmsg 'generating ssh client known hosts file...' if($verbose); unlink($knownhosts); - if(open(DSAKEYFILE, "<$hstpubkeyf")) { - my @dsahostkey = do { local $/ = ' '; }; - if(close(DSAKEYFILE)) { + if(open(RSAKEYFILE, "<$hstpubkeyf")) { + my @rsahostkey = do { local $/ = ' '; }; + if(close(RSAKEYFILE)) { if(open(KNOWNHOSTS, ">$knownhosts")) { - print KNOWNHOSTS "$listenaddr ssh-dss $dsahostkey[1]\n"; + print KNOWNHOSTS "$listenaddr ssh-rsa $rsahostkey[1]\n"; if(!close(KNOWNHOSTS)) { $error = "Error: cannot close file $knownhosts"; }