ssh 免密登录重新配置
时间: 2023-12-05 09:41:19 浏览: 33
为重新配置SSH免密登录,您可以按照以下步骤进行操作:
1.删除本地的SSH公钥和私钥文件,这些文件通常位于用户主目录下的.ssh目录中。您可以使用以下命令删除这些文件:
```shell
rm ~/.ssh/id_rsa*
```
2.重新生成SSH公钥和私钥文件。您可以使用以下命令生成这些文件:
```shell
ssh-keygen -t rsa -b 4096
```
在生成过程中,您可以选择使用默认设置或根据需要进行自定义设置。
3.将新生成的公钥文件复制到远程服务器上。您可以使用以下命令将公钥文件复制到远程服务器上:
```shell
ssh-copy-id username@remote_server
```
在此命令中,username是您在远程服务器上的用户名,remote_server是远程服务器的IP地址或域名。
4.测试SSH免密登录是否正常工作。您可以使用以下命令测试SSH免密登录是否正常工作:
```shell
ssh username@remote_server
```
如果一切正常,您应该能够直接登录到远程服务器,而无需输入密码。
相关问题
验证SSH免密登录已经配置
要验证 SSH 免密登录是否已经配置成功,可以按照以下步骤进行:
1. 在本地机器上打开一个终端窗口,输入以下命令:
```
ssh user@remote_server
```
其中 `user` 是远程服务器的用户名,`remote_server` 是远程服务器的 IP 地址或者域名。如果 SSH 免密登录已经配置成功,将会直接登录到远程服务器上,而不需要输入密码。
2. 如果第一步中没有直接登录到远程服务器上,而是提示输入密码,说明 SSH 免密登录还没有配置成功,需要按照以下步骤进行配置:
- 在本地机器上生成 SSH 密钥对,可以使用以下命令:
```
ssh-keygen
```
按照提示输入密钥保存路径和密码等信息,生成 SSH 密钥对。
- 将本地机器上生成的公钥复制到远程服务器上,可以使用以下命令:
```
ssh-copy-id user@remote_server
```
其中 `user` 是远程服务器的用户名,`remote_server` 是远程服务器的 IP 地址或者域名。该命令会将本地机器上的公钥复制到远程服务器的 `authorized_keys` 文件中,从而实现 SSH 免密登录。
- 重新打开一个终端窗口,输入以下命令:
```
ssh user@remote_server
```
其中 `user` 是远程服务器的用户名,`remote_server` 是远程服务器的 IP 地址或者域名。如果 SSH 免密登录已经配置成功,将会直接登录到远程服务器上,而不需要输入密码。
总之,要验证 SSH 免密登录是否已经配置成功,可以尝试使用 `ssh` 命令登录远程服务器,如果可以直接登录到远程服务器而不需要输入密码,就说明 SSH 免密登录已经配置成功。
SSH免密登录配置示例
以下是SSH免密登录的配置示例:
1. 生成密钥
在本地机器上生成公私钥对,使用以下命令:
```
ssh-keygen -t rsa
```
按照提示输入文件名和密码,一路确定即可。生成的公钥和私钥会保存在~/.ssh目录下,分别命名为id_rsa.pub和id_rsa。
2. 复制公钥到目标机器
将本地机器的公钥复制到目标机器的~/.ssh/authorized_keys文件中,使用以下命令:
```
ssh-copy-id user@remote_host
```
其中,user是目标机器的用户名,remote_host是目标机器的IP地址或主机名。输入目标机器的密码,将本地机器的公钥复制到目标机器的~/.ssh/authorized_keys文件中。
3. 修改目标机器的SSH配置
在目标机器上修改SSH配置文件/etc/ssh/sshd_config,将以下两个配置项设为yes:
```
RSAAuthentication yes
PubkeyAuthentication yes
```
保存并退出配置文件。
4. 重启SSH服务
在目标机器上重启SSH服务,使用以下命令:
```
sudo service ssh restart
```
现在,你可以使用SSH免密登录到目标机器了,无需输入密码即可访问。