linux中生成公私钥,并把公钥推送到目标服务器命令
时间: 2024-03-27 15:37:07 浏览: 60
在 Linux 中,可以使用以下命令生成公私钥,并把公钥推送到目标服务器上:
1. 生成密钥对:使用 ssh-keygen 命令生成密钥对,命令如下:
```
ssh-keygen -t rsa
```
执行该命令后,会在当前用户的 home 目录下创建 .ssh 目录,并在该目录下生成 id_rsa 和 id_rsa.pub 两个文件,分别为私钥和公钥。
2. 将公钥推送到目标服务器:使用 ssh-copy-id 命令将公钥推送到目标服务器,命令如下:
```
ssh-copy-id username@remote_host
```
其中,username 为目标服务器上的用户名,remote_host 为目标服务器的 IP 地址或域名。执行该命令后,会将本地的公钥添加到目标服务器上的 authorized_keys 文件中,从而实现无密码登录。
如果你想手动将公钥添加到目标服务器上,可以使用以下命令:
1. 将公钥复制到目标服务器:使用 scp 命令将公钥复制到目标服务器上,命令如下:
```
scp ~/.ssh/id_rsa.pub username@remote_host:~/.ssh/authorized_keys
```
其中,~/.ssh/id_rsa.pub 是本地公钥的路径,username 为目标服务器上的用户名,remote_host 为目标服务器的 IP 地址或域名。执行该命令后,会将本地的公钥复制到目标服务器上的 authorized_keys 文件中。
2. 修改权限:为了保证安全性,需要将 authorized_keys 文件的权限设置为 600,即只有用户自己可以读写,其他人没有权限访问。使用以下命令修改权限:
```
ssh username@remote_host "chmod 600 ~/.ssh/authorized_keys"
```
其中,username 为目标服务器上的用户名,remote_host 为目标服务器的 IP 地址或域名。执行该命令后,会将 authorized_keys 文件的权限修改为 600。
阅读全文