Recent versions of Fedora don't use ssh-dss, which old versions of ODL
seem to offer by default. Can fix with a system config change like this
or by manually passing as option to ssh command. The csit and l2switch
tutorials do it by changing this configuration. vagrant-opendaylight's
connect.sh helper script is an example of passing the param to ssh CLI.
There might be a better way/place to fix this. Ideas encouraged.
Change-Id: Id143fa6bc864469926596dfaddb77902f6d8c68f
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
--- /dev/null
+#!/usr/bin/env bash
+# Recent versions of OpenSSH don't support ssh-dss as an auth protocol
+# ODL seems offers ssh-dss by default. To SSH to the Karaf shell, tell
+# SSH to accept ssh-dss. Alternatively, tell SSH to accept ssh-dss via
+# the HostKeyAlgorithms option at invocation.
+# ssh -p 8101 -oHostKeyAlgorithms=+ssh-dss karaf@localhost
+
+# Options:
+# -x: Echo commands
+# -e: Fail on errors
+set -ex
+
+# Accept ssh-dss as an SSH algorithm by appending config to end of file
+sudo sed -i -e "\$aHostKeyAlgorithms=+ssh-dss" /etc/ssh/ssh_config
"scripts":
[
"provision/config_docker_{{ user `os_name`}}.sh",
"scripts":
[
"provision/config_docker_{{ user `os_name`}}.sh",
- "provision/config_ansible_{{ user `os_name`}}.sh"
+ "provision/config_ansible_{{ user `os_name`}}.sh",
+ "provision/config_ssh.sh"
"scripts":
[
"provision/config_vagrant.sh",
"scripts":
[
"provision/config_vagrant.sh",
- "provision/config_ansible_{{ user `os_name`}}.sh"
+ "provision/config_ansible_{{ user `os_name`}}.sh",
+ "provision/config_ssh.sh"
[
"provision/config_virtualbox_{{ user `os_name`}}.sh",
"provision/config_vagrant.sh",
[
"provision/config_virtualbox_{{ user `os_name`}}.sh",
"provision/config_vagrant.sh",
- "provision/config_ansible_{{ user `os_name`}}.sh"
+ "provision/config_ansible_{{ user `os_name`}}.sh",
+ "provision/config_ssh.sh"