Yes, for the ssh1/RSA protocol.  I haven't looked at the source but I seem to 
remember that it does NOT support it for ssh2/DSA connections, in fact the sshd 
manpage only mentions rhosts for v1/ssh1.  This has to do with it not being an 
option in the IETF Draft proposal for SSH, thus it is not supported.  It is 
supported in v1/ssh1 for compatibility with ssh1 from ssh.com and the initial 
source base for OpenSSH (ssh1 v1.2.12).

You will need to allow it in the sshd_config file.  There are several options:

     IgnoreRhosts
             Specifies that .rhosts and .shosts files will not be used in au�
             thentication.  /etc/hosts.equiv and /etc/ssh/shosts.equiv are
             still used.  The default is ``yes''.

     IgnoreUserKnownHosts
             Specifies whether sshd should ignore the user's
             $HOME/.ssh/known_hosts during RhostsRSAAuthentication. The de�
             fault is ``no''.

     RhostsAuthentication
             Specifies whether authentication using rhosts or /etc/hosts.equiv
             files is sufficient.  Normally, this method should not be permit�
             ted because it is insecure.  RhostsRSAAuthentication should be
             used instead, because it performs RSA-based host authentication
             in addition to normal rhosts or /etc/hosts.equiv authentication.
             The default is ``no''.

     RhostsRSAAuthentication
             Specifies whether rhosts or /etc/hosts.equiv authentication to�
             gether with successful RSA host authentication is allowed.  The
             default is ``no''.

These are from the sshd man page.  If you are trying to connect to a machine 
that you do not manage, then you will need to look in the config file, if it is 
accessible, to see if the SysAdmin has allowed this type of connection.  It is 
normally in /etc, /etc/ssh, or /usr/local/etc.  If you are the SysAdmin then 
make the changes, else try to convince the SysAdmin to allow it and then get 
him/her to change it.  Good luck if he/she has explicitly disabled this type of 
access for security reasons...

Now, there are 2 ways to allow host based authentication: insecure and slightly 
more secure.  Insecure is nothing more than allowing .rhosts access with no 
verification of remote host except its ip address.  This is highly vulnurable to 
ip address spoofing.  To do this set the above options as follows:

      IgnoreRhosts              no
      IgnoreUserKnownHosts      no              # or leave out since default
                                                # not used anyway for this type
      RhostsAuthentication      yes
      RhostsRSAAuthentication   yes
      
This allows access just as rsh/rlogin/rcp did.  There is a slight variation of 
this that allows a little more security: change "IgnoreRhosts" to yes.  This 
still has the same problems mentioned above about IP Spoofing, but only looks in 
the system /etc/hosts.equiv and shosts.equiv--in same dir (system dependent) as 
sshd_config.  

A more secure way of doing host based authentication is similar to the above, 
but it doesn't trust IP addreesses, but instead depends on the remote systems 
public RSA key matching that found in ssh_known_hosts or .ssh/known_hosts.  To 
allow this and not the less secure ip address only way, change 
"RhostsAuthentication" to no above.  This will allow the access from a remote 
machine only if the remote machine's public key is found in ssh_known_hosts or 
.ssh/known_hosts and there is an entry in hosts.equiv, shosts.equiv, ~/.rhosts, 
or ~/.shosts.

You can play around with the 4 options above to get a combination that satisfies 
your needs.

Now that all of this has been said, I highly recommend you learn about personal 
authentication using RSA keys for the ssh1 protocol (if you must use ssh1), or 
using DSA keys for the ssh2 protocol.  

Good luck!

        --Dave
        
PS>  Make sure the client connects using v1 (ssh1) when doing host based 
authentication.  If the Protocol option is set to '2,1' in the system ssh_config 
file, then create ~/.ssh/ssh_config with the following lines:

~/.ssh/ssh_config:
# 2 examples

# Can also add single lines to override to individual hosts
Host remhost1
  Protocol  1,2
  
# Use version 1 then 2, reverse of system settings in /etc/ssh_config
# Default all hosts
Host *
  Protocol  1,2
  

>Date: Thu, 28 Dec 2000 15:47:42 -0800
>From: Shuang Hou <[EMAIL PROTECTED]>
>X-Accept-Language: en
>MIME-Version: 1.0
>To: [EMAIL PROTECTED]
>Subject: Does OpenSSH support hostbased authentication?
>Content-Transfer-Encoding: 7bit
>
>Does OpenSSH support hostbased authentication and how to set up?
>
>Thanks,
>shuang
>

--
David Knight French                           
Black Mountain Computer Consulting
Voice: (858)279-4862
Email: [EMAIL PROTECTED]

Reply via email to