不了解ssh协议的请自觉看百科,进入正题~~
当用户想与远程主机建立连接时
$ssh user@host
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 09:95:34:79:45:ee:cf:1a:49:b2:d8:28:b2:7f:50:32.
Are you sure you want to continue connecting (yes/no)? yes
首次连接会出现以上提示信息,特别要注意加黑的128字节内容,那是公钥指纹,为了安全起见首次登陆请自觉检查!
输入yes后
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
root@localhost's password: 输入你的密码
Last login: Mon Jan 26 22:11:07 2015 from localhost.localdomain(检验密码成功信息)
当完成首次登陆后,用户目录下的./ssh下会自动生成一个known_hosts文件,它会记录远程主机host的公钥,由此在第二次请求远程连接时就不出再出现以上大量的提示信息了。
另外,就是登陆密码的自动验证了,键入命令
$ssh-keygen
一直回车就ok了
然后
$cd ./.ssh ; ls
会看到这两个文件id_rsa id_rsa.pub ,一个是私钥一个是公钥。
然后在远程主机用户主目录中创建./ssh/authorized_keys文件,再将id_rsa.pub内容复制进去就ok了。要是有多个user需要ssh访问host实现无密码输入登录,则分别生成公钥追加到authorized_keys文件中即可。