使用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权限),这个目标机就能被生成数字签名的机器无密码访问了

相关内容

    暂无相关文章