Chinaunix首页 | 论坛 | 博客
  • 博客访问: 48565
  • 博文数量: 8
  • 博客积分: 531
  • 博客等级: 中士
  • 技术积分: 95
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-16 16:36
文章分类

全部博文(8)

文章存档

2012年(4)

2011年(4)

分类: LINUX

2011-09-03 20:20:17

利用公/私密钥对能让ssh访问无需密码
假如A需要直接访问B,那么B需要信任A
1.在A上建立密钥对:ssh-keygen -t dsa,如果指定了passphrase的密码(>4位)则下次访问时需提供这个密码
这时默认情况下在当前家目录中生成.ssh/id_dsa.pub密钥文件
2.在B上通过scp等方式将A上的id_dsa.pub的内容添加到.ssh/authorized_keys文件内
3.此时B机ssh A时不需要密码了,注意匹配用户



示例:

[tony@host1~]ssh-keygen -t dsa #如果是version1 使用rsa代替

Enter file in which to save the key (/home/tom/.ssh/id_dsa): #选用默认的存放路径就ok

Enter passphase (empty for no passphase): #密钥的密码,>=5个字符,如果设了密码那么ssh访问时需要提供这个密码

[july@host2~]scp tony@host1.blabla.com:/home/tony/.ssh/id_dsa.pub .ssh/authorized_keys #july拷入tony的密钥

[tony@host1~]ssh host2.blabla.com -l july #此时tony通过july这个账户访问host2就不需要再敲入密码了,提高了工作效率,很好很强大!

注意一个原则:谁拷的就能连接谁



注意SELinux:很多新装的机器默认在家目录下没有.ssh子目录,如果只想使用authorized_keys功能,直接创建目录、建立authorized_keys文件,将密钥扔进去,我们会发现远程登录时已经被服务端拒绝。原因很简单,是SELinux做的祟,所以手动建好.ssh目录后必须将SELinux权限改为unconfined_u:object_r:ssh_home_t才能完全通过系统的验证!
阅读(1429) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:iptables下NAT的应用

给主人留下些什么吧!~~