TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码

SSH密钥认证:实现远程服务器免密登录的两种方法|Linuxscp命令详解:高效实现文件与目录的远程传输

2026-04-02
/
0 评论
/
58 阅读
/
正在检测是否收录...
04/02

标题:SSH密钥认证与SCP命令:安全登录与高效传输的终极指南
关键词:SSH密钥认证、免密登录、Linux SCP命令、远程传输、文件传输
描述:本文详解SSH密钥认证实现免密登录的两种方法,并深入解析Linux SCP命令的高效使用技巧,助你轻松管理远程服务器与文件传输。

正文:

在Linux服务器管理中,SSH密钥认证和SCP命令是两项核心技能。前者能实现安全便捷的免密登录,后者则专为高效远程传输而生。本文将手把手教你掌握这两大工具,提升运维效率。

一、SSH密钥认证:告别密码的两种方法

方法1:本地生成密钥对上传至服务器

  1. 生成密钥对
    在本地终端执行以下命令,默认生成RSA密钥(-t指定算法):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按提示可自定义密钥路径(如~/.ssh/id_rsa_work)或直接回车使用默认路径。

  1. 上传公钥到服务器
    使用ssh-copy-id一键完成(需输入密码一次):
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host

或手动追加公钥到服务器的~/.ssh/authorized_keys文件。

方法2:服务器端生成密钥对并下载私钥

适用于需要严格管控私钥的场景:
1. 在服务器生成密钥:

ssh-keygen -t ed25519
  1. 将私钥id_ed25519下载到本地:
scp user@remote_host:~/.ssh/id_ed25519 ~/.ssh/
  1. 设置本地权限:
chmod 600 ~/.ssh/id_ed25519

安全提示
- 密钥建议使用Ed25519算法(更安全高效)
- 务必设置~/.ssh目录权限为700
- 通过ssh -i 密钥路径 user@host指定密钥连接

二、SCP命令:远程传输的瑞士军刀

SCP基于SSH协议,兼具安全性与便捷性。其基础语法为:

scp [参数] 源文件 目标路径

高频使用场景

  1. 上传文件到远程服务器
scp ~/project.tar.gz user@remote_host:/opt/backups/
  1. 从服务器下载目录(-r递归复制)
scp -r user@remote_host:/var/log/nginx/ ~/logs_backup
  1. 端口指定与限速(-P指定端口,-l限制带宽,单位Kbit/s)
scp -P 2222 -l 800 backup.iso user@host:/backup/
  1. 保留文件属性(-p保留修改时间/权限)
scp -p config.ini user@host:/etc/app/

进阶技巧

  • 使用SSH配置简化命令
    ~/.ssh/config中添加:
Host myserver  
  HostName 192.168.1.100  
  User admin  
  Port 2222  
  IdentityFile ~/.ssh/id_ed25519

之后只需执行:

scp file.txt myserver:/tmp/
  • 断点续传替代方案
    SCP原生不支持断点续传,但可通过rsync替代:
rsync -Pazh --partial ~/large_file.iso myserver:/backup/

三、常见问题解决方案

  1. 权限拒绝错误
    检查:

- 远程目录是否有写入权限(ls -ld /path
- SELinux是否限制(临时关闭setenforce 0测试)

  1. 中文文件名乱码
    添加-o ServerAliveInterval=60保持连接,或使用-T禁用伪终端:
scp -T ./中文报告.pdf user@host:/tmp/

通过掌握SSH密钥认证和SCP命令,你已拥有高效管理远程服务器的钥匙。现在,不妨立即尝试将你的工作流程升级到“无密码+一键传输”的新阶段吧!

朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/43642/(转载时请注明本文出处及文章链接)

评论 (0)
25,267 文章数
92 评论量

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月