免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1655 | 回复: 0

Openssh中如何配置基于主机的认证? [复制链接]

论坛徽章:
0
发表于 2004-06-11 09:39 |显示全部楼层
[原创] Openssh中如何配置基于主机的认证?

SSH协议中主要的几种认证包括:主机认证,密钥认证和密码认证。前两种认证方式都可以实现对主机的自动登陆(即不需要输入密码),但由于密钥认证主要是用户级的,而主机认证是系统级的,比较之下密钥认证安全程度更高一些。在一些相互信任的环境里,主机认证可以保证从某主机登陆的所有用户不需要输入密码,在某种程度上简化了认证操作。

以下主要介绍一下在Openssh(版本3.7.1p2)中如何实现主机认证。

在SSH服务器端(假设为服务器A,假设客户端为服务器B):

1. 在/etc/sshd_config中加上:HostbasedAuthentication yes (取决于ssh的安装,sshd_config可以位于不同的目录下,比如/etc/ssh)。
2. 如果服务器使用DNS的话,把SSH客户端加入A的/etc/hosts中。这是因为当客户向主机看出认证请求时,会发过自己的主机名,这通常为短名。但服务器会对客户的IP地址进行反解析,通过DNS得到的是FQDN名,也就是长名。其后SSHD会对这两者进行比较以保证客户机是“无伪装的”。如果不把客户机加入/etc/hosts中的话.短名和长名将不匹配,SSHD会认为请求无效,这一点和sendmail服务器有点相似。
3. 把SSH客户端加入/etc/hosts.equiv中(每一客户端名占一行),比如
   serverb
   serverc
4. 重启SSHD服务器。

在SSH客户端,也就服务器B上:

1. 同样在/etc/sshd_config中加上:HostbasedAuthentication yes
2. 找到ssh-keysign这个文件(比如/opt/openssh/libexec下),把它设为setuid。ssh-keysign是用来读取主机的私钥和公钥的,但由于这一对密钥只允许root读写,所以必须把它setuid以保证普通用户也可以读出系统密钥。
   chmod u+s ssh-keysign
3. 在/etc/ssh_config中允许使用ssh-keysign:
     EnableSSHKeysign yes
4. 在客户机上产生一对RSA的密钥:
   /opt/openssh/bin/ssh-keygen -t rsa -f /etc/ssh_host_rsa_key -N ""
5. 把客户机上产生的公钥(ssh_host_rsa_key.pub)传到服务器的/etc/ssh_known_hosts里。要特别注意把服务器的公钥转化为ssh_known_hosts的格式:
   serverb,serverb.domain.com,10.16.xx.128 ssh-rsa AAAAB.....eR=
   也就是:服务器B名,服务器B全名,IP地址 ssh-rsa 公钥
   /etc/ssh_known_hosts可以包含多个客户机,每个客户机占一行。

下面普通用户就可以从客户机B上登陆了服务器A而不需要密码了:ssh -l user serverA。注意以上方法并不适用于root用户,由于超级用户的特殊性,如果要实现root的无密码登陆的话,还需要做以下几步:

1. 在服务器A的/etc/sshd_config上,加上:
   IgnoreRhosts no
这主要是因为(与BSD的R系列命令相同),/etc/hosts.equiv不能用于root用户。要配置客户机的直接登陆,只能在<root home>;/.rhosts或<root home>;/.shosts中设定。所以必须激活SSHD对.shosts的读取。
2. 在root的宿主目录下,加上服务器B:echo serverb >;>; ~/.shosts  这样root用户也可直接无密码登陆了。

如果需要进行一些调试的话,可以在A上这样启动sshd: sshd -dd,然后在B上这样启动ssh: ssh -vv serverA。观察两个终端可以得到一些有帮助的信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP