ssh怎么实现免密登录
时间: 2024-09-22 14:10:24 浏览: 74
SSH(Secure Shell)是一种加密网络协议,用于远程登录到另一台计算机。要实现SSH免密登录,通常需要以下几个步骤:
1. **生成SSH密钥对**:在本地计算机上打开终端或命令提示符,运行`ssh-keygen`命令生成公钥(id_rsa.pub)和私钥(id_rsa)。默认情况下,这个过程会直接保存在`~/.ssh/`目录下。
2. **将公钥复制到目标服务器**:将生成的公钥内容通过文本编辑器复制,并通过SSH登录到目标服务器,然后将公钥粘贴到`.ssh/authorized_keys`文件中。如果该文件不存在,可以创建它。
3. **设置权限**:确保`.ssh`目录及其子文件夹具有适当的权限,通常是700(`chmod 700 ~/.ssh`),并限制`.ssh/authorized_keys`的读取权限给用户(`chmod 600 ~/.ssh/authorized_keys`)。
4. **配置本地机器**:在本地的`~/.ssh/config`文件中,添加一条类似于这样的配置:
```
Host <server_name>
IdentityFile ~/.ssh/id_rsa
# 如果希望跳过密码验证,可以使用以下选项(注释掉下面两行)
# UserKnownHostsFile=/dev/null
# StrictHostKeyChecking=no
```
这里`<server_name>`是你为远程主机起的一个别名,`IdentityFile`指定私钥文件的位置。
5. **测试连接**:现在你可以使用`ssh <server_name>`尝试登录,如果没有输入密码,说明免密登录已经设置成功。
阅读全文