Whenever I want to login to a Debian porterbox to figure out some architecture-specific issue I typically do not care which particular host I am going to login to, just what architecture the host is.
After discovering that it is not yet easy for the Debian sysadmins (DSA) to add aliases to DNS for this purpose, I whipped up a quick script to grab the relevant data about Debian machines from the Debian LDAP server and work around this in my OpenSSH config.
To use the script you should run the script and place the magic
comment lines suggested by the script into your ~/.ssh/config
file and
then run the script again, which will contact the Debian LDAP server using
python-ldap, download the relevant information and replace the
relevant part of your ~/.ssh/config
file with some OpenSSH configuration
directives to map Debian architecture names to hostnames. Within just a
few seconds you will be able to login to armel
, powerpc.port
or
kfreebsd-amd64.port.debian.org
instead of needing to manually look
up which servers to login for a particular architecture.
Update: paravoid mentioned his dsa-porterbox
script (see below) which is
much simpler, does not need to modify your OpenSSH configuration and can
be run as like ssh $(dsa-porterbox armel | head -n1)
. I'm hoping we can add this
and a possible ssh-porterbox
to the devscripts
package.
#!/bin/sh
test -z $1 && exit 1
exec ldapsearch -LLL -x -h db.debian.org -b ou=hosts,dc=debian,dc=org \
"(&(purpose=porterbox)(architecture=$1))" hostname | \
sed -n 's/^hostname: //p'