使用ssh无密码登录

使用ssh无密码登录

ssh 是一个专为远程登录会话和其他网络服务提供安全性的协议。默认状态下ssh链接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修改后系统间切换可以避免密码输入和ssh认证。以下将创建过程简单介绍下。

1.使用ssh-keygen创建公匙/私匙对

ssh-keygen –tdsa  -C jibo.tiger@gmail.com –f  ~/.ssh/jibo.tiger@gmail.com

过程中,可能会要求输入密码,为了ssh访问过程无需密码,可以直接回车。

2. 查看公匙/私匙对

ls ~/.ssh

jibo.tiger@gmail.com  jibo.tiger@gmail.com.pub  config

可以发现 ssh目录下的两枚key files

其中jibo.tiger@gmail.com.pub为公匙,jibo.tiger@gmail.com为私匙

4.将公匙复制到服务器主机上

scp  jibo.tiger@gmail.com.pub  hostname@i:~/.ssh/jibo.tiger@gmail.com.pub

5.添加公匙到服务主机上的信任

cat  jibo.tiger@gmail.com.pub >>authorized_keys

not:4,5步可以由命令ssh-copy-id一步到位

ssh-copy-id  -i jibo.tiger@gmail.com.pub  user@ip

6.设置文件和目录权限:

设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限
$ chmod 700 -R .ssh

总结注意事项

1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。

2、生成的rsa/dsa签名的公钥是给对方机器使用的。这个公钥内容还要拷贝authorized_keys

3、linux之间的访问直接 ssh hostname@ip。如果不指定hostname则默认使用本地主机名。

4、某个机器生成自己的RSA或者DSA的数字签名,将公钥给目标机器,然后目标机器接收后设定相关权限(公钥和authorized_keys权限),这个目标机就能被生成数字签名的机器无密码访问了

 

 

posted @ 2013-06-28 19:11  爱生活,爱编程  阅读(183)  评论(0编辑  收藏  举报