1. 安装SSH
首先得确保ssh已经在服务端运行,可以通过下面的命令查看:
1 | ps -ef | grep ssh |
如果系统没有ssh,需要手动安装一下先。对于ubuntu,直接使用apt-get
命令:
1 | sudo apt-get install openssh-server |
如果没有启动ssh,使用命令
1 | sudo service ssh start |
2. 两步实现
要实现免密登录,需要做两步:
- 在本地电脑生成公私钥对
- 将本地的公钥添加到服务器上
2.1 生成公私钥对
注意:以下操作均在客户端电脑完成
使用命令ssh-keygen
生成公私钥对,生成的结果保存在~/.ssh/
目录下。
2.2 添加公钥
注意:一下操作均在服务器上完成
- 新建文件
~/.ssh/authorized_keys
- 将在客户端生成的
id.rsa.pub
文件的内容复制粘贴到authorized_keys
文件内 - 将
authorized_keys
文件的权限设置为600, 即sudo chmod 600 authorized_keys
- 将
.ssh
文件夹的权限设置为700,即sudo chmod 700 .ssh
600代表这rw-------,即只有拥有者才能读写,其它用户没有任何权限(非常自然的想法)
类似的,700代表rwx------,即只有拥有者才能进入这个目录,执行权限就是为了确保能进入目录的。
注:x-1,w-2,r-4