設定しようとしたが、接続元(クライアント)のIPアドレスがDHCPで動的に変わるので、やめ。いちおう途中まで行った記録のみ残す。
Ubuntu Server 7.10の/etc/ssh/sshd_configファイルの初期状態。
参考:sshd の設定(sshd_config)
# Package generated configuration file # See the sshd(8) manpage for details # What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 768 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin yes StrictModes yes RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords #PasswordAuthentication yes # Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes
参考書(FC3の本^^;;)には/etc/ssh/shosts.equivにホスト名とユーザ名を書け、とあるのだけど、どちらかといえば~/.shostsにホスト名(ユーザ名省略)を書く方が楽な気がする。優先は/etc/ssh/shosts.equivなのだけど。
参考:Haizara-Cho::Fujimi 3[Rinzo Shimizu] :: 2005/10のOct 27, 2005。
しかし、デフォルトでは~/.shostsは使われていない
# Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes
ので、先にここを変更する。
# Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts no
~/.shostsを編集して、クライアント(接続元)のホスト名を入れる。
client
そしてパーミッションを変更。
参考:OpenSSH ホストベース認証あれこれ。 | A Day In The Boy's Life
~$ chmod 600 .shosts
念のためで確認。
~$ ls -alF | grep .shosts -rw------- 1 ubuntu ubuntu ** 2008-01-07 **:33 .shosts
また、ホストベース認証を有効にするため
# similar for protocol version 2 HostbasedAuthentication no
を
# similar for protocol version 2 HostbasedAuthentication yes
に変更。