monkeysphere ssh-proxycommand fails when ~/.ssh/known_hosts does not exist
hen a user has no @~/.ssh/known_hosts@ file, @monkeysphere ssh-proxycommand@ fails silently.
For example:
0 foo@bar:~$ ls -la .ssh/known_hosts ls: cannot access .ssh/known_hosts: No such file or directory 2 foo@bar:~$ bash -x monkeysphere ssh-proxycommand blanco.mayfirst.org 22 --no-connect
- set -e ++ basename monkeysphere
- PGRM=monkeysphere
- SYSSHAREDIR=/usr/share/monkeysphere
- export SYSSHAREDIR
- . /usr/share/monkeysphere/defaultenv ++ SYSCONFIGDIR=/etc/monkeysphere ++ export SYSCONFIGDIR ++ LOG_LEVEL=INFO ++ KEYSERVER=pool.sks-keyservers.net ++ CHECK_KEYSERVER=true ++ MONKEYSPHERE_USER=monkeysphere ++ PROMPT=true
- . /usr/share/monkeysphere/common
- MSHAREDIR=/usr/share/monkeysphere/m ++ date -u +%FT%T
- DATE=2009-07-22T20:21:17
- unset GREP_OPTIONS
- umask 077
- GNUPGHOME=/home/urbanadmin/.gnupg
- KNOWN_HOSTS=/home/urbanadmin/.ssh/known_hosts
- HASH_KNOWN_HOSTS=true
- AUTHORIZED_KEYS=/home/urbanadmin/.ssh/authorized_keys
- unset CHECK_KEYSERVER
- '[' -r /etc/monkeysphere/monkeysphere.conf ']'
- . /etc/monkeysphere/monkeysphere.conf
- MONKEYSPHERE_HOME=/home/urbanadmin/.monkeysphere
- mkdir -p -m 0700 /home/urbanadmin/.monkeysphere
- '[' -e /home/urbanadmin/.monkeysphere/monkeysphere.conf ']'
- GNUPGHOME=/home/urbanadmin/.gnupg
- LOG_LEVEL=INFO
- KEYSERVER=pool.sks-keyservers.net
- '[' -z pool.sks-keyservers.net ']'
- PROMPT=true
- KNOWN_HOSTS=/home/urbanadmin/.ssh/known_hosts
- HASH_KNOWN_HOSTS=true
- AUTHORIZED_KEYS=/home/urbanadmin/.ssh/authorized_keys
- AUTHORIZED_USER_IDS=/home/urbanadmin/.monkeysphere/authorized_user_ids
- REQUIRED_HOST_KEY_CAPABILITY=a
- REQUIRED_USER_KEY_CAPABILITY=a
- LOG_PREFIX='ms: '
- export GNUPGHOME
- mkdir -p -m 0700 /home/urbanadmin/.gnupg
- export LOG_LEVEL
- COMMAND=ssh-proxycommand
- '[' ssh-proxycommand ']'
- shift
- case $COMMAND in
- source /usr/share/monkeysphere/m/ssh_proxycommand
- ssh_proxycommand blanco.mayfirst.org 22 --no-connect
- '[' blanco.mayfirst.org = --no-connect ']'
- HOST=blanco.mayfirst.org
- PORT=22
- '[' -z blanco.mayfirst.org ']'
- '[' -z 22 ']'
- '[' 22 '!=' 22 ']'
- HOSTP=blanco.mayfirst.org
- URI=ssh://blanco.mayfirst.org
- gpg_user --list-key =ssh://blanco.mayfirst.org ++ ssh-keygen -F blanco.mayfirst.org
- hostKey= 255 foo@bar:~$ ssh-keygen -F blanco.mayfirst.org fopen: No such file or directory 255 foo@bar:~$
This is an unusual situation to be sure, and could probably be fixed by doing:
[ -d ~/.ssh ] || mkdir -m 0700 ~/.ssh [ -f ~/.ssh/known_hosts ] || touch ~/.ssh/known_hosts
Not sure what we should do if $MONKEYSPHERE_KNOWN_HOSTS is set to a non-standard value, though.
--dkg
(from redmine: created on 2009-07-22, closed on 2009-08-01)