ssh login without password(通过ssh免密码登录)

1、前言

本文简单介绍一下如何使用ssh进行免密码登录,所有的执行都是在unix环境下完成。

2、原理

通过公钥加密,私钥解密去实现的。 用户机子存的是私钥,远程机子存的是对应的公钥。

  1. 远程机子通过公钥加密“一段文字”给用户机子。
  2. 用户机子通过私钥去解密,并得到“这段文字”,然后以明文形式发送给远程机子。
  3. 远程机子验证接收到的文字信息是否和给出的文字信息一致,一致就确定用户可信,用户即为真实用户。

3、具体操作

  1. 首先通过ssh登录远程机子,这里命名为DEV机子。(ssh yansong@dev,然后输入密码登入)
  2. cd ~ && cd .ssh // 进入个人环境,并尝试进入.ssh目录
  3. 如果.ssh目录不存在,则创建它(mkdir .ssh)
  4. ls // 查看.ssh目录下是否存在id_rsa, id_rsa.pub两个文件。
  5. 如果不存在上面两个文件,则创建她们(输入:ssh-keygen -t rsa,然后回车,回车即可)
  6. cat id_rsa.pub >> authorized_keys // 拷贝公钥到存放验证key文件的地方
  7. chmod 600 authoried_keys // rw——-
  8. scp yansong@dev:.ssh/id_rsa* ~/.ssh // 拷贝id_rsa, id_rsa.pub这两个到自己本机对应的~/.ssh目录

4、后话

上面内容可能会有很多不当的地方,如果不对请指正。

5、参考

SSH login without password