[cloud-init/f16] Deal with differences from Ubuntu's sshd
gholms
gholms at fedoraproject.org
Tue Oct 4 19:22:25 UTC 2011
commit 974de09f58a905f945a2b94ee272c9f2f994ca2b
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date: Wed Sep 28 18:17:53 2011 -0700
Deal with differences from Ubuntu's sshd
cloud-init-0.6.2-sshsvc.patch | 44 +++++++++++++++++++++++++++++++++++++++++
cloud-init-fedora.cfg | 1 +
cloud-init.spec | 4 +++
3 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/cloud-init-0.6.2-sshsvc.patch b/cloud-init-0.6.2-sshsvc.patch
new file mode 100644
index 0000000..fe22012
--- /dev/null
+++ b/cloud-init-0.6.2-sshsvc.patch
@@ -0,0 +1,44 @@
+Index: cloud-init-fedora/cloudinit/CloudConfig/cc_set_passwords.py
+===================================================================
+--- cloud-init-fedora.orig/cloudinit/CloudConfig/cc_set_passwords.py
++++ cloud-init-fedora/cloudinit/CloudConfig/cc_set_passwords.py
+@@ -104,7 +104,7 @@ def handle(name,cfg,cloud,log,args):
+ errors.append(e)
+
+ try:
+- p = util.subp(['service', 'ssh', 'restart'])
++ p = util.subp(['service', cfg.get('ssh_svcname', 'ssh'), 'restart'])
+ log.debug("restarted sshd")
+ except:
+ log.warn("restart of ssh failed")
+Index: cloud-init-fedora/cloudinit/CloudConfig/cc_ssh.py
+===================================================================
+--- cloud-init-fedora.orig/cloudinit/CloudConfig/cc_ssh.py
++++ cloud-init-fedora/cloudinit/CloudConfig/cc_ssh.py
+@@ -31,9 +31,10 @@ def handle(name,cfg,cloud,log,args):
+ global_log = log
+
+ # remove the static keys from the pristine image
+- for f in glob.glob("/etc/ssh/ssh_host_*key*"):
+- try: os.unlink(f)
+- except: pass
++ if cfg.get("delete_system_ssh_keys", True):
++ for f in glob.glob("/etc/ssh/ssh_host_*key*"):
++ try: os.unlink(f)
++ except: pass
+
+ if cfg.has_key("ssh_keys"):
+ # if there are keys in cloud-config, use them
+@@ -63,8 +64,10 @@ def handle(name,cfg,cloud,log,args):
+ # if not, generate them
+ for keytype in util.get_cfg_option_list_or_str(cfg, 'ssh_genkeytypes',
+ ['rsa', 'dsa', 'ecdsa']):
+- subprocess.call(['ssh-keygen', '-t', keytype, '-N', '',
+- '-f', '/etc/ssh/ssh_host_%s_key' % keytype])
++ keyfile = '/etc/ssh/ssh_host_%s_key' % keytype
++ if not os.path.exists(keyfile):
++ subprocess.call(['ssh-keygen', '-t', keytype, '-N', '',
++ '-f', keyfile])
+
+ try:
+ user = util.get_cfg_option_str(cfg,'user')
diff --git a/cloud-init-fedora.cfg b/cloud-init-fedora.cfg
index 32f4f9f..2e7cc9b 100644
--- a/cloud-init-fedora.cfg
+++ b/cloud-init-fedora.cfg
@@ -5,6 +5,7 @@ ssh_pwauth: 0
cc_ready_cmd: ['/bin/true']
mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
ssh_genkeytypes: ~
+ssh_svcname: sshd
syslog_fix_perms: ~
locale_configfile: /etc/sysconfig/i18n
diff --git a/cloud-init.spec b/cloud-init.spec
index 7832d53..8152804 100644
--- a/cloud-init.spec
+++ b/cloud-init.spec
@@ -31,6 +31,8 @@ Patch7: cloud-init-0.6.2-puppetenable.patch
Patch8: cloud-init-0.6.2-sshkeytypes.patch
# https://bugs.launchpad.net/cloud-init/+bug/857926
Patch10: cloud-init-0.6.2-runparts-emptydir.patch
+# Deal with differences between out sshd service and Ubuntu's (not yet upstream)
+Patch11: cloud-init-0.6.2-sshsvc.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -71,6 +73,7 @@ ssh keys and to let the user run various scripts.
%patch7 -p1
%patch8 -p1
%patch10 -p1
+%patch11 -p1
cp -p %{SOURCE2} README.fedora
@@ -156,6 +159,7 @@ fi
- Consolidated selinux file context patches
- Fixed cloud-init.service dependencies
- Updated sshkeytypes patch
+- Dealt with differences from Ubuntu's sshd
* Sat Sep 24 2011 Garrett Holmstrom <gholms at fedoraproject.org> - 0.6.2-0.5.bzr457
- Rebased against upstream rev 457
More information about the scm-commits
mailing list