scp免密传输教程

scp免密传输教程

为了在使用 scp 命令时不需要输入密码,通常的做法是通过设置 SSH 公钥认证来实现。这种方法不仅避免了每次都要输入密码的麻烦,而且也更加安全。下面是如何设置 SSH 公钥认证的步骤:

1. 生成 SSH 密钥对(如果你还没有的话)

在你的客户端机器上打开终端,运行以下命令来生成一个 SSH 密钥对。当提示你输入文件保存位置时,可以直接按回车键使用默认位置。

bash 复制代码
ssh-keygen -t rsa -b 2048

当提示输入密码时,可以选择留空,这样就不需要在使用密钥时输入密码。

注:如果已经存在旧的密钥选择不覆盖,然后拷贝旧的密匙

2. 将公钥复制到服务器

可以手动将公钥内容添加到服务器的 ~/.ssh/authorized_keys 文件中。首先,显示并复制你的公钥内容:

bash 复制代码
cat ~/.ssh/id_rsa.pub

如果是windows系统则用txt打开复制 ctrl+A复制全部内容。

然后登录到你的服务器,编辑 ~/.ssh/authorized_keys 文件,并将复制的公钥内容粘贴到文件的末尾。
注:注意不要删除其他人的key!

3. 使用 scp 命令免密码传输文件

设置完毕后,你现在应该可以使用 scpssh 命令免密码登录到服务器了。再次运行你的 scp 命令,不应该再提示你输入密码:

bash 复制代码
scp -r ./dist/ root@47.96.253.86:/usr/share/nginx/html

注意事项

  • 安全性:不使用密码的 SSH 登录更依赖于密钥的安全性,因此请确保你的私钥文件安全,不被未授权的人访问。
  • 权限问题:确保服务器上的目标目录允许你写入。如果遇到权限拒绝的问题,可能需要检查目录的权限设置。

通过以上步骤,你就可以实现无密码使用 scp 来传输文件了,这对于自动化脚本和提高日常工作效率非常有帮助。

相关推荐
TE-茶叶蛋20 分钟前
JetBrains IDE(如 IntelliJ IDEA)的 Git 面板
ide·git·intellij-idea
蓝黑墨水21 分钟前
群晖使用git遇到的问题
git
m0_5358175541 分钟前
告别海外账号!Claude Code Windows完整部署指南:从Node.js到api对接(附避坑)
windows·gpt·node.js·api·claude·claudecode·88api
秋91 小时前
Windows 环境下 Redis 部署详解:从选型、安装到生产级配置与运维
运维·windows·redis
Cosmoshhhyyy1 小时前
《Effective Java》解读第 52 条:慎用重载
java·开发语言·windows
您^_^2 小时前
Python CosyVoice项目遭遇 Windows TxF WinError 6714 的深度排查与修复指南
windows·python·winerror 6714
Maydaycxc2 小时前
Excel 自动化 RPA 教程|批量处理 / 报表生成 / 数据汇总
windows·自动化·excel·rpa
空中海2 小时前
Git-02:协作篇 — 分支工作流、合并变基与远程协作
git
空中海2 小时前
Git-03:专家篇 — 底层原理、故障恢复、性能安全与面试题
git
XLYcmy3 小时前
GameGPT 初赛方案设计 训练入口+主入口
windows·python·ai·llm·prompt·agent·游戏安全