e0f11a3f9b
Aarch64 support, systemd services, IP in directory name OBS-URL: https://build.opensuse.org/request/show/503692 OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/kdump?expand=0&rev=129
102 lines
3.1 KiB
Diff
102 lines
3.1 KiB
Diff
Date: Tue May 16 13:23:49 2017 +0200
|
|
From: Petr Tesarik <ptesarik@suse.com>
|
|
Subject: Add KDUMP_SSH_IDENTITY config option
|
|
References: FATE#321583
|
|
Git-commit: 3e7e5f020024eed5c6d944e0ff9554772cbdb896
|
|
Git-commit: d7e6f45461bf0f899cfedf564d985cf5cd41f331
|
|
Git-commit: f0a43757c99635ece304fc9c011c0b82acd86f64
|
|
Upstream: v0.8.17
|
|
|
|
Make the SSH private file configurable.
|
|
|
|
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
|
|
|
|
---
|
|
doc/man/kdump.5.txt.in | 10 ++++++++++
|
|
init/setup-kdump.functions | 39 ++++++++++++++++++++++++++++-----------
|
|
kdumptool/define_opt.h | 1 +
|
|
3 files changed, 39 insertions(+), 11 deletions(-)
|
|
|
|
--- a/doc/man/kdump.5.txt.in
|
|
+++ b/doc/man/kdump.5.txt.in
|
|
@@ -643,7 +643,17 @@ Example (broken into lines for readabili
|
|
|
|
Default: ""
|
|
|
|
+KDUMP_SSH_IDENTITY
|
|
+~~~~~~~~~~~~~~~~~~
|
|
|
|
+List of SSH identity files for public key authentication. If empty, kdump
|
|
+will try all standard OpenSSH identities for the 'root' user (rsa, dsa,
|
|
+ecdsa, ed25519, in this order). The path to every identity file is relative
|
|
+to +~root/.ssh+, or an absolute path can be given.
|
|
+
|
|
+Example: "/root/.ssh/id_kdump_rsa"
|
|
+
|
|
+Default: ""
|
|
|
|
URL FORMAT
|
|
----------
|
|
--- a/init/setup-kdump.functions
|
|
+++ b/init/setup-kdump.functions
|
|
@@ -935,6 +935,29 @@ function kdump_modify_multipath()
|
|
} # }}}
|
|
|
|
#
|
|
+# Copy SSH identity file(s) and update the target config file
|
|
+# Parameters:
|
|
+# 1) dest: root of the temporary area
|
|
+function kdump_copy_ssh_ident() # {{{
|
|
+{
|
|
+ local sshdir="$1/kdump/.ssh"
|
|
+ local ssh_conf="$sshdir/config"
|
|
+ local f
|
|
+
|
|
+ shift
|
|
+ for f in "$@"; do
|
|
+ test "${f:0:1}" = "/" || f=~root/".ssh/$f"
|
|
+ test -f "$f" || continue
|
|
+
|
|
+ cp "$f" "$sshdir/"
|
|
+ test -f "${f}.pub" && cp "${f}.pub" "$sshdir/"
|
|
+ test -f "${f}-cert.pub" && cp "${f}-cert.pub" "$sshdir/"
|
|
+ f=$( basename $f )
|
|
+ echo "IdentityFile /kdump/.ssh/${f}" >> "$ssh_conf"
|
|
+ done
|
|
+} # }}}
|
|
+
|
|
+#
|
|
# Copy SSH keys and create a config file in the target
|
|
# Parameters:
|
|
# 1) dest: root of the temporary area
|
|
@@ -952,17 +975,11 @@ function kdump_init_ssh() # {{{
|
|
echo "StrictHostKeyChecking yes" >> "$ssh_conf"
|
|
echo "UserKnownHostsFile /kdump/.ssh/known_hosts" >> "$ssh_conf"
|
|
|
|
- local type
|
|
- for type in rsa dsa ecdsa ed25519
|
|
- do
|
|
- if [ -f /root/.ssh/id_${type} -a -f /root/.ssh/id_${type}.pub ] ; then
|
|
- cp /root/.ssh/id_${type}{,.pub} "${dest}/kdump/.ssh/"
|
|
- if [ -f /root/.ssh/id_${type}-cert.pub ] ; then
|
|
- cp /root/.ssh/id_${type}-cert.pub "${dest}/kdump/.ssh/"
|
|
- fi
|
|
- echo "IdentityFile /kdump/.ssh/id_${type}" >> "$ssh_conf"
|
|
- fi
|
|
- done
|
|
+ if [ -n "$KDUMP_SSH_IDENTITY" ] ; then
|
|
+ kdump_copy_ssh_ident "$dest" $KDUMP_SSH_IDENTITY
|
|
+ else
|
|
+ kdump_copy_ssh_ident "$dest" id_{rsa,dsa,ecdsa,ed25519}
|
|
+ fi
|
|
} # }}}
|
|
|
|
#
|
|
--- a/kdumptool/define_opt.h
|
|
+++ b/kdumptool/define_opt.h
|
|
@@ -41,3 +41,4 @@ DEFINE_OPT(KDUMP_SMTP_PASSWORD, String,
|
|
DEFINE_OPT(KDUMP_NOTIFICATION_TO, String, "", DUMP)
|
|
DEFINE_OPT(KDUMP_NOTIFICATION_CC, String, "", DUMP)
|
|
DEFINE_OPT(KDUMP_HOST_KEY, String, "", DUMP)
|
|
+DEFINE_OPT(KDUMP_SSH_IDENTITY, String, "", MKINITRD)
|