免密登录设置 及 ssh-copy-id 如何使用非22端口

本文详细介绍了如何在远程服务器上生成SSH密钥对,包括私钥和公钥文件的创建过程,以及如何使用ssh-copy-id命令将公钥复制到目标服务器,实现免密码登录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在101的机器上生成密钥(如果已经生成可以跳过):

 ssh-keygen -t rsa

 其中:id_rsa为私钥文件,id_rsa.pub为公钥文件

ssh-copy-id  -i ~/.ssh/id_rsa.pub  "-p 2122  root@IP "

转载于:https://www.cnblogs.com/Cohen/p/9437524.html

<think>好的,用户想了解如何使用ssh-copy-id命令。首先,我需要回忆这个命令的基本用途,它主要是用来将本地公钥复制到远程主机的authorized_keys文件中,实现SSH免密登录。 接下来,我应该整理命令的基本格式和常用选项。比如,-i选项指定公钥文件,-p指定端口-n测试模式等。需要确保这些信息准确,可能需要查阅参考资料中的引用内容,比如引用[1]和引用[2]提到的参数和示例。 用户可能会遇到权限问题,比如引用[4]提到的permission denied,这时候需要提醒用户可能需要修改sshd_config文件中的PermitRootLogin设置。同时,对于Windows用户,引用[3]提到的方法可能需要使用Git Bash或其他工具,这也需要提及。 还要考虑用户的实际使用场景,比如如何指定不同的端口或处理多台机器的情况。给出具体的示例会比较有帮助,比如ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host,或者指定端口-p 2222。 另外,需要强调权限设置的重要性,确保远程主机的.ssh目录和authorized_keys文件权限正确,避因为权限问题导致失败。 可能的相关问题可以包括如何生成钥对、解决连接问题、Windows下的替代方法等,这些都能帮助用户进一步了解相关操作。 最后,要确保回答结构清晰,分步骤说明,并包含注意事项,让用户能够一步步操作,同时避常见错误。</think>### 如何使用 `ssh-copy-id` 命令? `ssh-copy-id` 是一个用于将本地公钥自动添加到远程主机 `authorized_keys` 文件的工具,实现 SSH 免密登录。以下是详细使用方法: --- #### **1. 基本命令格式** ```bash ssh-copy-id [-i 公钥文件] [-p 端口] [用户@]主机名 ``` - **示例**:将默认公钥(`~/.ssh/id_rsa.pub`)复制到远程主机: ```bash ssh-copy-id user@remote_host ``` 输入远程主机的码后,公钥会自动添加到 `~/.ssh/authorized_keys`[^1]。 --- #### **2. 关键选项说明** - **`-i <公钥文件>`**:指定默认公钥文件(例如使用自定义钥): ```bash ssh-copy-id -i ~/.ssh/my_key.pub user@remote_host ``` - **`-p <端口>`**:若远程 SSH 服务端口默认(22),需指定端口: ```bash ssh-copy-id -p 2222 user@remote_host ``` - **`-n`**:测试模式,仅显示操作但不实际执行。 - **`-o <SSH参数>`**:传递其他 SSH 参数(如严格主机检查关闭): ```bash ssh-copy-id -o "StrictHostKeyChecking=no" user@remote_host ``` --- #### **3. 常见场景与问题** - **Windows 系统使用**: 需通过 Git Bash 或 WSL 运行命令,格式与 Linux 相同[^3]。 - **权限问题**: 若出现 `Permission denied`,需检查远程主机的 `/etc/ssh/sshd_config` 文件,确保包含 `PermitRootLogin yes` 并重启 SSH 服务[^4]。 - **多台机器操作**: 可结合脚本批量执行,例如遍历 IP 列表调用 `ssh-copy-id`[^2]。 --- #### **4. 验证配置** 执行成功后,尝试免密登录验证: ```bash ssh user@remote_host ``` 若无需输入码,表示配置成功。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值