Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115597
  • 博文数量: 14
  • 博客积分: 400
  • 博客等级: 一等列兵
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-19 21:52
文章分类
文章存档

2021年(2)

2016年(2)

2014年(1)

2011年(4)

2010年(5)

我的朋友

分类: LINUX

2010-11-19 22:19:04

客户端:

生成公钥和私钥,

ssh-keygen


一路回车,如果之前使用过此命令,会有提示有已经生成好的公钥和私钥,一般放在~/.ssh目录里

拷贝公钥到服务器端

scp ~/.ssh/id_rsa.pub username@serverip:~


登录服务器端,

ssh username@serverip


将公钥添加到授权密钥中,

cat id_rsa.pub >>~/.ssh/authorized_keys


确保授权密钥文件权限是600,

chmod 600 ~/.ssh/authorized_keys


退出

exit


客户端测试,

ssh username@serverip


应该已经可以无密码登录了


详细参考资料:

使用 RSAAuthentication(SSH1协议)或 PubkeyAuthentication(SSH2协议)可不必记住每个远程系统的连接密码。一般,我们都使用SSH2协议。

服务器端:编辑/etc/ssh/sshd_config,将PubkeyAuthentication yes前的注释符去掉。(在Debian系统中,默认是已经去掉的,但在Redhat下面,默认有关闭的)。重启ssh服务。(Debian下是 /etc/init.d/ssh,Redhat下是/etc/init.d/sshd)

客户端机器:生成RSA验证密匙文件或者DSA验证密匙文件。ssh-keygen -t rsa或者ssh-keygen -t dsa。此时会在~/.ssh目录下面,生成id_dsa文件和id_dsa.pub(使用dsa)或者id_rsa和id_rsa.pub(使用 rsa)。其中id_dsa和id_rsa是验证私钥,id_dsa.pub和id_rsa.pub是公钥,必须确保它的安全性。将公钥拷到服务器上的~/.ssh/authorized_keys文件里。

进行远程连接测试:ssh user1@remote,应该是不需要密码了。如果还需要密码,请登录远程服务器,检查~/.ssh/authorized_keys文件的访问权限。请确定其访问权限为0600,否则系统因为安全问题会拒绝使用authorized_keys文件进行验证。为了使这种方式能够工作,在必须在服务器端的/etc/ssh/sshd_config 和客户端的/etc/ssh/ssh_config中同时设置HostbasedAuthentication为yes(如果客户端用户没有超级用户权限,则可以在~/.ssh/config中设置)。默认情况下Debian和Redhat都已经将HostbasedAuthentication设为了 yes,不需修改。如果仍出现问题,可用ssh -v user1@remote进行调试。

阅读(2120) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-11-22 18:00:58

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com