用ssh-keygen来设置ssh无密码登陆


在linux系统中,ssh是远程登陆的默认工具,由于该工具的协议使用了RSA/DSA的加密算法.该工具作linux系统的远程管理是很是安全的。telnet,由于其不安全性,在linux系统中被搁置使用了。

ssh有一套颇有用的工具,其中的ssh-keygen能够用来生成private和public密钥.将生成的public密钥拷贝到远程机器后,能够使ssh到另一台机器的登录不用密码.具体方法以下.

1) 在本地机器中的~/.ssh/目录下执行下命令,

ssh-keygen -t dsa

将生成两个文件,id_dsa和id_dsa.pub.

2) 将id_dsa.pub拷贝到远程机器,而且将id_dsa.pub的内容添加到~/.ssh/authorized_keys中.

cat id_dsa.pub >>authorized_keys

注意:目录.ssh和文件authorized_keys的权限必须是600.

完成这些工做后,用户从本地机器到远程机器的登陆就不用密码了.

该设置简单实用.


我是参考别的文章作的,直到出错后,才搜索到以上那篇文章
一开始登陆时仍是须要密码,提示信息以下:
[ddphp@www .ssh]$ ssh -p 6000 192.168.100.123 
ddphp@192.168.100.123's password: 
Permission denied, please try again.
ddphp@192.168.100.123's password: 
Permission denied, please try again.
ddphp@192.168.100.123's password: 
Permission denied (publickey,gssapi-with-mic,password).

ll /home/ddphp/.ssh,发现authorized_keys文件的属性是664,按照以上文章将权限修改成600,顺利登陆!php

相关文章
相关标签/搜索