1、前言
本文简单介绍一下如何使用ssh进行免密码登录,所有的执行都是在unix环境下完成。
2、原理
通过公钥加密,私钥解密去实现的。
用户机子存的是私钥,远程机子存的是对应的公钥。
- 远程机子通过公钥加密“一段文字”给用户机子。
- 用户机子通过私钥去解密,并得到“这段文字”,然后以明文形式发送给远程机子。
- 远程机子验证接收到的文字信息是否和给出的文字信息一致,一致就确定用户可信,用户即为真实用户。
3、具体操作
- 首先通过ssh登录远程机子,这里命名为DEV机子。(ssh yansong@dev,然后输入密码登入)
- cd ~ && cd .ssh // 进入个人环境,并尝试进入.ssh目录
- 如果.ssh目录不存在,则创建它(mkdir .ssh)
- ls // 查看.ssh目录下是否存在id_rsa, id_rsa.pub两个文件。
- 如果不存在上面两个文件,则创建她们(输入:ssh-keygen -t rsa,然后回车,回车即可)
- cat id_rsa.pub >> authorized_keys // 拷贝公钥到存放验证key文件的地方
- chmod 600 authoried_keys // rw-------
- scp yansong@dev:.ssh/id_rsa* ~/.ssh // 拷贝id_rsa, id_rsa.pub这两个到自己本机对应的~/.ssh目录
4、后话
上面内容可能会有很多不当的地方,如果不对请指正。