悠悠楠杉
网站页面
标题:SSH密钥认证与SCP命令:安全登录与高效传输的终极指南
关键词:SSH密钥认证、免密登录、Linux SCP命令、远程传输、文件传输
描述:本文详解SSH密钥认证实现免密登录的两种方法,并深入解析Linux SCP命令的高效使用技巧,助你轻松管理远程服务器与文件传输。
正文:
在Linux服务器管理中,SSH密钥认证和SCP命令是两项核心技能。前者能实现安全便捷的免密登录,后者则专为高效远程传输而生。本文将手把手教你掌握这两大工具,提升运维效率。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"按提示可自定义密钥路径(如~/.ssh/id_rsa_work)或直接回车使用默认路径。
ssh-copy-id一键完成(需输入密码一次):ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host或手动追加公钥到服务器的~/.ssh/authorized_keys文件。
适用于需要严格管控私钥的场景:
1. 在服务器生成密钥:
ssh-keygen -t ed25519id_ed25519下载到本地:scp user@remote_host:~/.ssh/id_ed25519 ~/.ssh/chmod 600 ~/.ssh/id_ed25519安全提示:
- 密钥建议使用Ed25519算法(更安全高效)
- 务必设置~/.ssh目录权限为700
- 通过ssh -i 密钥路径 user@host指定密钥连接
SCP基于SSH协议,兼具安全性与便捷性。其基础语法为:
scp [参数] 源文件 目标路径scp ~/project.tar.gz user@remote_host:/opt/backups/scp -r user@remote_host:/var/log/nginx/ ~/logs_backupscp -P 2222 -l 800 backup.iso user@host:/backup/scp -p config.ini user@host:/etc/app/~/.ssh/config中添加:Host myserver
HostName 192.168.1.100
User admin
Port 2222
IdentityFile ~/.ssh/id_ed25519之后只需执行:
scp file.txt myserver:/tmp/rsync -Pazh --partial ~/large_file.iso myserver:/backup/- 远程目录是否有写入权限(ls -ld /path)
- SELinux是否限制(临时关闭setenforce 0测试)
-o ServerAliveInterval=60保持连接,或使用-T禁用伪终端:scp -T ./中文报告.pdf user@host:/tmp/通过掌握SSH密钥认证和SCP命令,你已拥有高效管理远程服务器的钥匙。现在,不妨立即尝试将你的工作流程升级到“无密码+一键传输”的新阶段吧!