SSH免密钥登录是一种通过私钥和公钥对实现的登录方式。它通过在远程服务器上配置公钥,然后将私钥保存在本地客户端,用于与服务器进行身份验证,从而实现免输入密码登录。
具体步骤如下:
1. 在本地客户端生成一对公钥和私钥。可以使用以下命令生成:
```
ssh-keygen -t rsa -b 4096
```
这将生成一个名为`id_rsa`的私钥文件和一个名为`id_rsa.pub`的公钥文件。
2. 将公钥文件复制到远程服务器的`~/.ssh/`目录中。可以使用以下命令复制:
```
ssh-copy-id user@remote_server
```
这将将公钥文件的内容添加到远程服务器的`authorized_keys`文件中。
3. 确保远程服务器上的`~/.ssh/`目录的权限设置正确。可以使用以下命令设置权限:
```
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
```
这将确保只有用户自己可以访问这些文件。
4. 现在,可以使用以下命令通过SSH免密钥登录到远程服务器:
```
ssh user@remote_server
```
客户端将使用私钥来进行身份验证,而不需要输入密码。
需要注意的是,在生成密钥对时,可以选择不设置密码保护私钥,这样就不需要在登录时输入密码。但是,这样也会将私钥暴露在本地,如果本地计算机被入侵,私钥可能被盗取。因此,为了安全起见,建议设置密码保护私钥,并妥善保管私钥文件。