免密登录不用ssh -copy-id
时间: 2023-08-24 18:07:43 浏览: 100
如果您不想使用`ssh-copy-id`命令来实现免密登录,可以通过手动操作来完成。以下是一种方法:
1. 在本地生成SSH密钥对:
```shell
ssh-keygen -t rsa
```
这将生成公钥(`id_rsa.pub`)和私钥(`id_rsa`)文件。
2. 将公钥复制到目标服务器上:
```shell
scp ~/.ssh/id_rsa.pub user@server_ip:~/
```
将`user@server_ip`替换为目标服务器的用户名和IP地址。
3. 在目标服务器上,将公钥追加到`authorized_keys`文件中:
```shell
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
```
4. 设置`authorized_keys`文件的权限:
```shell
chmod 600 ~/.ssh/authorized_keys
```
现在,您应该能够通过SSH进行免密登录。请确保您在目标服务器上的`sshd_config`文件中启用了公钥身份验证(PubkeyAuthentication)。
请注意,这种方法需要手动复制公钥到目标服务器,并且需要在每个目标服务器上重复执行上述步骤。使用`ssh-copy-id`命令可以更方便地完成这个过程。
相关问题
A机器免密登录C机器但是不用ssh-copy-id命令。
要实现A机器免密登录C机器,而不使用ssh-copy-id命令,可以按照以下步骤进行设置:
1. 在A机器上生成密钥对(如果未生成):
```shell
ssh-keygen -t rsa
```
这将生成一个公钥(`id_rsa.pub`)和一个私钥(`id_rsa`)。
2. 将A机器的公钥复制到C机器的`.ssh/authorized_keys`文件中。您可以使用`scp`命令或其他文件传输工具将公钥复制到C机器。
```shell
scp ~/.ssh/id_rsa.pub user@C:/path/to/.ssh/authorized_keys
```
请将`user`替换为C机器上的用户名,`C`替换为C机器的IP地址或主机名,以及`/path/to/`替换为C机器上`.ssh/authorized_keys`所在的路径。
3. 在C机器上设置正确的权限:
```shell
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
这将确保`.ssh`目录和`authorized_keys`文件的权限设置正确。
现在,您应该能够在A机器上通过SSH连接到C机器而无需输入密码。请记住,这个方法只是一种手动复制公钥的方式,相当于手动执行了ssh-copy-id命令。如有其他问题,请随时提问!
ssh-copy-id
ssh-copy-id是一个用于将本地公钥复制到远程主机的命令。它可以将本机的公钥复制到远程机器的authorized_keys文件中,并设置合适的权限。\[1\]\[2\]\[3\]使用ssh-copy-id命令时,可以通过-i选项指定认证文件(公钥),也可以使用默认的~/.ssh/identity.pub作为默认公钥。\[2\]\[3\]在运行ssh-copy-id命令时,如果多次运行,它不会检查重复,会在远程主机中多次写入authorized_keys文件。\[3\]使用示例可以是:ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host,其中remote-host是远程主机的地址。\[4\]需要注意的是,ssh-copy-id将公钥写入远程机器的~/.ssh/authorized_keys文件中。\[4\]如果在使用选项-i时没有传入值,或者~/.ssh/identity.pub文件不可访问(不存在),ssh-copy-id会显示错误信息。\[5\]
#### 引用[.reference_title]
- *1* *4* *5* [ssh-copy-id命令的介绍,使免密更方便](https://blog.csdn.net/qq_43688472/article/details/109625590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Linux 命令(210)—— ssh-copy-id 命令](https://blog.csdn.net/K346K346/article/details/128178191)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [ssh-copy-id命令](https://blog.csdn.net/shaoming314/article/details/122640975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]