-== setup/integrate a new machine ==
+= how to add a new machine =
Note: this has recently been changed to rely more on [[puppet|howto/puppet-setup]]. If stuff breaks fix it.
-* install ssh if it isn't there already
+* some initial stuff:
{{{
- apt-get install ssh
-}}}
-
-* sane locales: (make sure there is _no_ locale defined in /etc/environment and /etc/default/locale)
-{{{
- echo -n > /etc/environment
- echo -n > /etc/default/locale
-}}}
-
-* make debconf the same on every host: - dialog, - high
-{{{
- apt-get install dialog &&
+ apt-get install --no-install-recommends ssh vim &&
+ echo -n > /etc/environment &&
+ echo -n > /etc/default/locale &&
+ apt-get install --no-install-recommends dialog &&
echo "debconf debconf/priority select high" | debconf-set-selections &&
echo "debconf debconf/frontend select Dialog" | debconf-set-selections
}}}
dpkg -l postfix | grep '^ii postfix' && (dpkg --purge postfix && rm /etc/aliases)
}}}
-* setup [[puppet|howto/puppet-setup]] (run the puppet client two or three times until things converge.)
+* on draghi, add the host to the ldap using ud-host. Set the ssh key and the IP Address attributes.
-* on draghi, add the host to /home/sshdist/.ssh/authorized_keys
-(you want the host's rsa host key there: {{{cat /etc/ssh/ssh_host_rsa_key.pub}}})
+* run generate, or wait until cron runs it for you. Update DNS.
{{{
- : :: draghi :: && sudo vi /home/sshdist/.ssh/authorized_keys
-}}}
-* use ud-host to add the new host to LDAP
-* run generate, or wait until cron runs it for you
-{{{
- : :: draghi :: && sudo -u sshdist ud-generate
-}}}
-
-* fix nsswitch for ud fu. (you might have to restart sshd here)
-{{{
- sed -i -e 's/^passwd:\[[:space:]]\+compat$/passwd: compat db/;
- s/^group:\[[:space:]]\+compat$/group: db compat/;
- s/^shadow:\[[:space:]]\+compat$/shadow: compat db/' \
- /etc/nsswitch.conf
- (cd / && env -i /etc/init.d/ssh restart)
+ : :: draghi :: && sudo -u sshdist ud-generate && sudo -H ud-replicate && sudo -H puppetd -t
+ : :: denis :: && sudo -H ud-replicate
}}}
-* install userdir-ldap
-{{{
- apt-get update && apt-get install userdir-ldap
-}}}
+* setup [[puppet|howto/puppet-setup]] (run the puppet client two or three times until things converge.)
-* on the host, run ud-replicate
+* on the host, run ud-replicate and check if it worked
{{{
- echo draghi.debian.org,draghi,db.debian.org,db,82.195.75.106,::ffff:82.195.75.106 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAy1mAS0xIOZH9OrJZf1Wv9qYORv5Z5fmpF0o8Y4IMdS+ZzTjN1Sl8M77jaFTJbumJNs+n2CMcX8CoMemQEPBoRe20a5t3dExPQ3c7FNU0z+WIVFbu/oTTkAWGp5gCDwF3pg2QxUjqYc0X4jpv6pkisyvisij6V/VJ5G1hsIMuKqrCKYyyyiJJytfzSfRrBx2QvB5ZWQxhYeSYDoLDvuF31qUy4TLZ/HR3qZQ1cBrP9dCh5d+GQxdY9LuO6zjlnSyU64GHkyjYt3p03AKG4plD7WHX01bD0DQQ/NOFVwFhOZ63mePyridPuqBMFW39jBf4jSsewV95RE5VbY04+MY4XQ== root@draghi >> /etc/ssh/ssh_known_hosts &&
- ud-replicate
+ ud-replicate &&
+ id weasel
}}}
-* check if it worked:
+* install debian.org which brings you shells and much other fun
{{{
- id weasel
+ apt-get install -y debian.org debian.org-recommended
}}}
-* install debian.org which brings you shells and much other fun
+* run puppet a couple times
{{{
- apt-get install debian.org debian.org-recommended
+ puppet agent -t; puppet agent -t; puppet agent -t; puppet agent -t
}}}
-* in /etc/ssh/sshd_config:
-** disable the DSA hostkey, so that it only does RSA
-** remove old host keys:
-** disable X11 forwarding
-** Tell it to use alternate authorized_keys locations
-** maybe link root's auth key there:
+* install security updates etc.
{{{
- #| HostKey /etc/ssh/ssh_host_rsa_key
- #| X11Forwarding no
- #| AuthorizedKeysFile /etc/ssh/userkeys/%u
- #| AuthorizedKeysFile2 /var/lib/misc/userkeys/%u
-
- cd /etc/ssh/ && rm -f ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_key ssh_host_key.pub &&
- mkdir -p /etc/ssh/userkeys && ln -s /root/.ssh/authorized_keys /etc/ssh/userkeys/root &&
- sed -i -e 's/^HostKey.*_dsa_key/# &/;
- s/^X11Forwarding yes/X11Forwarding no/;
- $ a AuthorizedKeysFile /etc/ssh/userkeys/%u
- $ a AuthorizedKeysFile2 /var/lib/misc/userkeys/%u' sshd_config &&
- (cd / && env -i /etc/init.d/ssh restart)
+ apt-get update && apt-get dist-upgrade && apt-get clean
}}}
* try to login using your user and ssh key. you should get a homedir.
* try to become root using sudo.
-* disable password auth with ssh (again: once you verified you can log in and become root using keys.)
-{{{
- #vi /etc/ssh/sshd_config
- # | PasswordAuthentication no
-
- sed -i -e 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config &&
- (cd / && env -i /etc/init.d/ssh restart)
-}}}
-
* make ca-certificates sane: (choose to *not* trust new certs, and we only want the spi cert activated)
{{{
echo "ca-certificates ca-certificates/trust_new_crts select no" | debconf-set-selections
* Add debian-admin@debian.org to root in /etc/aliases
{{{
- if ! egrep '^root:' /etc/aliases > /dev/null; then
- echo "root: debian-admin@debian.org" >> /etc/aliases
- elif ! egrep '^root:.*debian-admin@debian.org' /etc/aliases > /dev/null; then
- sed -i -e 's/^root: .*/&, debian-admin@debian.org/' /etc/aliases
- fi
- newaliases
-}}}
-
-* sane default editor
-{{{
- apt-get install vim && update-alternatives --set editor /usr/bin/vim.basic
+ if ! egrep '^root:' /etc/aliases > /dev/null; then
+ echo "root: debian-admin@debian.org" >> /etc/aliases
+ elif ! egrep '^root:.*debian-admin@debian.org' /etc/aliases > /dev/null; then
+ sed -i -e 's/^root: .*/&, debian-admin@debian.org/' /etc/aliases
+ fi
+ newaliases
}}}
-* add to munin on spohr
+* install samhain and get puppet to configure it
{{{
- : :: spohr :: && sudo vi /etc/munin/munin.conf
+ apt-get install -y samhain &&
+ ( puppet agent -t || true ) &&
+ service samhain stop &&
+ rm /var/state/samhain/samhain_file &&
+ samhain --foreground -t init -p none -s none -l none -m none &&
+ service samhain start
}}}
* if it is a HP Proliant, or has other management fu, read [[howto/ilo-https]]