== setup/integrate a new machine ==
-Note: this is partially obsolete now that we have [[puppet-setup|puppet]]. We should probably update/rework some parts.
+Note: this has recently been changed to rely more on [[puppet|howto/puppet-setup]]. If stuff breaks fix it.
-** Warning: This procedure has not been tested since being moved to the wiki. Beware. **
* install ssh if it isn't there already
{{{
- apt-get install ssh
+ apt-get install --no-install-recommends ssh
}}}
-* make apt sane
+* sane editor
{{{
- echo 'Acquire::PDiffs "false";' > /etc/apt/apt.conf.d/local-pdiff
- echo 'APT::Install-Recommends 0;' > /etc/apt/apt.conf.d/local-recommends
+ apt-get install --no-install-recommends vim
}}}
-* sane locales:
-
- make sure there is _no_ locale defined in /etc/environment and /etc/default/locale
-
-* make debconf the same on every host: - dialog, - high
-{{{
- dpkg-reconfigure debconf
-}}}
-
-* add db.d.o to sources.list:
+* sane locales: (make sure there is _no_ locale defined in /etc/environment and /etc/default/locale)
{{{
- cat > /etc/apt/sources.list.d/debian.org.list << EOF
-deb http://db.debian.org/debian-admin lenny main
-deb-src http://db.debian.org/debian-admin lenny main
-EOF
-
- apt-key add - << EOF
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-mQGiBEf4BP0RBACfXnRhBb9HKiA3h5A1tDnluVwfkSuDX4ZXdVAuMZapdOm8r9ug
-9zE/dDGWPWja+DArAPZ/i3BFvlMewmden/IFbQKtXluQVIC4GL1RBMwrtWsZzo0g
-picl3CYWDAYjRdg4WppUc9FawwGw081FlLGDv7eYRO3+8uGUHfr+SD7CwwCgxJK6
-SvDX6M2Ifuq8WmgWWrVFyakD/ipdxd3NPIcnl1JTO2NjbOJYKpZMl6v0g+1OofSq
-CAKTO8ymc0z6SF1j/4mWe1W76wvTpOhOUgn2WO7SQHZaujb/3z+yAJedfbCDgq0S
-H/T2qbQTzv+woAjyR/e2Zpsc2DRfqO/8aCw1Jx8N3UbH9MBPYlYlyCnSra1OAyXW
-VvC0A/9nT/k6VIFBF0Oq2WwmzOLptOqg61WrnxBr3GIe503++p88tOwlCJlL0uZZ
-k68m3m5t7WDtQK4fHQwLramb9AqtBPhiEaXU5bXk77RYE54EeEH9Z4H4YSMMkdYU
-gLG5CZI2jprxAZew1mHKROv+15jxYd+BZCrORmpWn5g7N+TC5rQeZGIuZGViaWFu
-Lm9yZyBhcmNoaXZlIGtleSAyMDA4iGYEExECACYFAkf4BP0CGwMFCQHhM4AGCwkI
-BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRC+p88QvSsO4JZLAJ4slp2uRZHtzMXK8oTB
-DV1XiztTZwCfQD7Y2mKDaMsmE4AmwOOTw2fmcZo=
-=+jlJ
------END PGP PUBLIC KEY BLOCK-----
-EOF
+ echo -n > /etc/environment
+ echo -n > /etc/default/locale
}}}
-* in /etc/ssh/sshd_config:
-** disable the DSA hostkey, so that it only does RSA
-** remove old host keys: <BR>{{{
- cd /etc/ssh/ && rm ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_key ssh_host_key.pub
-}}}
-** disable X11 forwarding
-** Tell it to use alternate authorized_keys locations
+* make debconf the same on every host: - dialog, - high
{{{
- | HostKey /etc/ssh/ssh_host_rsa_key
- | X11Forwarding no
- | AuthorizedKeysFile /etc/ssh/userkeys/%u
- | AuthorizedKeysFile2 /var/lib/misc/userkeys/%u
-
- vi /etc/ssh/sshd_config
- (cd / && env -i /etc/init.d/ssh restart)
+ 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
}}}
- * maybe link root's auth key there:
+* unless we want to keep it:
{{{
- mkdir -p /etc/ssh/userkeys && ln -s /root/.ssh/authorized_keys /etc/ssh/userkeys/root
+ dpkg -l postfix | grep '^ii postfix' && (dpkg --purge postfix && rm /etc/aliases)
}}}
+* on draghi, add the host to the ldap using ud-host. Set the ssh key and the IP Address attributes.
-* install userdir-ldap
+* run generate, or wait until cron runs it for you. Update DNS.
{{{
- apt-get update && apt-get install userdir-ldap
+ : :: draghi :: && sudo -u sshdist ud-generate && sudo -H ud-replicate && sudo -H puppetd -t
+ : :: orff :: && sudo -H ud-replicate
}}}
+* setup [[puppet|howto/puppet-setup]] (run the puppet client two or three times until things converge.)
-* on samosa, add the host to /home/sshdist/.ssh/authorized_keys and generate.conf
-(you want the host's rsa host key there: {{{cat /etc/ssh/ssh_host_rsa_key.pub}}})
-{{{
- : :: samosa :: && sudo vi /home/sshdist/.ssh/authorized_keys
- : :: samosa :: && sudo vi /etc/userdir-ldap/generate.conf
-}}}
-* run generate, or wait until cron runs it for you
-{{{
- : :: samosa :: && sudo -u sshdist ud-generate
-}}}
-* fix nsswitch for ud fu.
+* 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/' \
+ 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
-}}}
-
-(you might have to restart sshd here:
-{{{
(cd / && env -i /etc/init.d/ssh restart)
}}}
-)
* on the host, run ud-replicate
{{{
- mkdir -p /root/.ssh &&
- echo db,db.debian.org,192.25.206.57 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAph3LozYmcwHwgnxfKia1lg1AXNuJiEroi/GpPztbcqxmFOYBZbMgYDj+kM+usoXF2diT9OQWqg1yx19CeEoghHYz4/yZa0PYdLgPj9Si4PScekVaE051GrLM63osfK0j3wIfpgLJv2/zs42NbXjkKPdjInEaWPn8W1fe88M3JDE= root@newsamosa >> /root/.ssh/known_hosts &&
+ 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
}}}
id weasel
}}}
-* add pam_mkhomedir to common-session:
+* install debian.org which brings you shells and much other fun
{{{
- grep pam_mkhomedir /etc/pam.d/common-session || \
- echo "session optional pam_mkhomedir.so skel=/etc/skel umask=0022" >> /etc/pam.d/common-session
+ apt-get install debian.org debian.org-recommended
}}}
-* install debian.org which brings you shells and much other fun
+* On handel, make sure the certs exist for the new host
+{{{
+ : :: handel :: : && sudo -u puppet make -C /srv/puppet.debian.org/ca/ install
+}}}
+
+* run puppet a couple times
{{{
- apt-get install debian.org
+ puppetd -t; puppetd -t; puppetd -t; puppetd -t
}}}
* try to login using your user and ssh key. you should get a homedir.
+* try to become root using sudo.
+
* 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
sed -i -e 's/^[^#!].*/!&/; s#^!spi-inc.org/spi-cacert-2008.crt#spi-inc.org/spi-cacert-2008.crt#' /etc/ca-certificates.conf
dpkg-reconfigure ca-certificates
}}}
-* exim setup:
-{{{
- : :: now obsolete :: &&
- apt-get install git-core curl &&
- ! [ -d /etc/exim4.bak ] &&
- /etc/init.d/exim4 stop &&
- mv /etc/exim4 /etc/exim4.bak &&
- mkdir /etc/exim4 &&
- cd /etc/exim4 &&
- git clone https://db.debian.org/git/dsa-exim.git Git &&
- ./Git/bin/update &&
- (cd / && /etc/init.d/exim4 start)
-}}}
* Add debian-admin@debian.org to root in /etc/aliases
-
-* 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
}}}
-* setup sudo
+* install samhain and get puppet to configure it
{{{
- grep '^%adm' /etc/sudoers || echo '%adm ALL=(ALL) ALL' >> /etc/sudoers
- grep '^%adm.*apt-get' /etc/sudoers || echo '%adm ALL=(ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get dist-upgrade, /usr/bin/apt-get clean, /usr/sbin/samhain -t check -i -p err -s none -l none -m none' >> /etc/sudoers
-
- apt-get install libpam-pwdfile
- cat > /etc/pam.d/sudo << EOF
-#%PAM-1.0
-
-auth [authinfo_unavail=ignore success=done ignore=ignore default=die] pam_pwdfile.so pwdfile=/var/lib/misc/thishost/sudo-passwd
-auth required pam_unix.so nullok_secure try_first_pass
-#@include common-auth
-@include common-account
-
-session required pam_permit.so
-session required pam_limits.so
-EOF
+ apt-get install samhain
+ puppet agent -t
}}}
-* OPEN A NEW SHELL - DO _NOT_ LOG OUT OF THIS ONE:<BR>
- test that the dedicated sudo password works. if not, undo the pam sudo config.
- (comment out the auth lines and include common-auth again)
-
-* setup ldap.conf:
-{{{
- grep '^URI.*db.debian.org' /etc/ldap/ldap.conf || cat >> /etc/ldap/ldap.conf << EOF
+* if it is a HP Proliant, or has other management fu, read [[howto/ilo-https]]
-URI ldap://db.debian.org
-BASE dc=debian,dc=org
-
-TLS_CACERT /etc/ssl/certs/spi-cacert-2008.pem
-TLS_REQCERT hard
-EOF
-}}}
+* edit dedication into in $DSA-PUPPET/modules/debian-org/misc/local.yaml
-* munin setup:
-* grant access to spohr
-{{{
- sed -i -e '/^allow/d; $ a \allow ^192\\\.25\\\.206\\\.57$\nallow ^192\\\.25\\\.206\\\.33$' /etc/munin/munin-node.conf
- ( cd / && env -i /etc/init.d/munin-node restart )
-}}}
-* add to munin on spohr
-{{{
- : :: spohr :: && sudo vi /etc/munin/munin.conf
-}}}
-
-
-* add host to nagios config
-
-* disable password auth with ssh, once you verified you can log in
- and become root using keys.
-{{{
- vi /etc/ssh/sshd_config
- | PasswordAuthentication no
- (cd / && env -i /etc/init.d/ssh restart)
-}}}
+* Add host to smarthost machines in $DSA-PUPPET/modules/debian-org/misc/local.yaml (if so desired). Set MX in ud-ldap.
-* if it is a HP Proliant, or has other management fu, read setup-oob
+* add to nagios
-- weasel, Wed, 04 Jun 2008 20:52:56 +0200