SSH 命令

SSH 常用命令速查,连接/密钥/端口转发/文件传输/安全加固,一键复制

共 45 个脚本

安全ssh连接

SSH 基本连接

使用用户名和密码(或密钥)登录到远程主机,回车后输入密码。

安全ssh端口

指定端口连接 (-p)

当服务器 SSH 监听非默认端口(如 2222)时,用 -p 指定端口。

安全ssh用户

指定登录用户名

通过 -l 选项或 user@host 形式指定登录用户,区别于当前系统用户。

注意ssh后台

后台运行隧道 (-f -N)

-f 登录后转入后台,-N 不执行远程命令,常用于维持端口转发隧道。

安全ssh调试

详细调试模式 (-v / -vvv)

输出连接、认证、密钥协商的详细过程,是排查登录失败的第一步。

安全ssh超时

超时与保活设置

ConnectTimeout 控制连接超时,ServerAliveInterval 定期发送心跳防止 NAT 断连。

注意ssh-keygenrsa

生成 RSA 密钥对

生成 4096 位 RSA 密钥对,用于 SSH 免密登录。注意:-f 指定路径时若文件已存在会被覆盖。

注意ssh-keygened25519

生成 Ed25519 密钥(推荐)

Ed25519 比 RSA 更短更快更安全,是现代 OpenSSH 推荐的密钥类型。

安全ssh-keygen指纹

查看密钥指纹

查看公钥或私钥的指纹,用于核对服务器指纹或对比密钥是否一致。

安全ssh-copy-id公钥

复制公钥到远程主机

将本地公钥追加到远程主机的 ~/.ssh/authorized_keys,实现免密登录。

注意ssh-keygenPEM

密钥格式转换

将 OpenSSH 格式私钥转为旧版 PEM 格式(部分云平台 / 旧客户端需要),或从 PEM 导回。

安全ssh-addssh-agent

将密钥加入 ssh-agent

ssh-agent 缓存已解密的私钥,避免每次连接都输入 passphrase。

安全config别名

~/.ssh/config 主机别名

为常用主机定义别名,之后用 ssh myserver 即可连接,免去记 IP、端口和密钥。

安全configProxyJump

跳板机配置 (ProxyJump)

通过跳板机(堡垒机)访问内网机器,ProxyJump 是 OpenSSH 7.3+ 的简洁写法。

安全config通配符

通配符与全局默认配置

Host * 定义所有主机的默认值,配合具体 Host 块实现配置复用。

注意known_hostsssh-keygen

清理 known_hosts 中的旧记录

主机重装系统后指纹变化会导致连接被拒。用 ssh-keygen -R 安全移除旧记录。

注意configStrictHostKeyChecking

首次连接指纹策略

控制首次连接是否自动接受主机指纹,StrictHostKeyChecking=accept-new 较安全。

安全端口转发local

本地端口转发 (-L)

把远程服务的端口映射到本地。例:远程 MySQL(3306) 映射到本地 13306,再用本地客户端连接。

注意端口转发remote

远程端口转发 (-R)

把本地端口映射到远程主机,用于让外部能访问内网 / 本机的服务(内网穿透)。

注意端口转发SOCKS

动态 SOCKS 代理 (-D)

在本地建立 SOCKS5 代理,所有流量经远程主机发出,常用于科学上网或临时代理。

安全跳板机-J

命令行跳板机 (-J)

无需修改 config,直接用 -J 一次性指定跳板机访问目标机器。

安全scp上传

scp 上传文件到远程

把本地文件或目录复制到远程主机。-r 递归复制目录,-P 指定端口。

安全scp下载

scp 从远程下载文件

把远程文件或目录下载到本地,远程路径写在前,本地路径写在后。

安全rsync同步

rsync 增量同步

rsync 只传输变化的部分,适合大目录和频繁同步。-a 归档模式,-v 详细,-z 压缩。

注意rsyncdelete

rsync 删除与排除

--delete 删除目标中多余的文件实现镜像,--exclude 排除不需要同步的文件。

安全rsync断点续传

rsync 断点续传

-P 等价于 --partial --progress,大文件传输中断后可续传,不必从头开始。

安全sftp交互

sftp 交互式传输

sftp 提供交互式命令行,支持 ls/cd/get/put 等命令,比 scp 更灵活。

高危安全sshd_config

禁用密码登录

改为仅允许密钥登录,杜绝密码暴力破解。修改前务必确认密钥登录已可用。

高危安全sshd_config

禁用 root 直接登录

禁止 root 通过 SSH 直接登录,应先以普通用户登录再 sudo 提权。

高危安全端口

修改默认端口

把 SSH 端口从 22 改为其他端口,可减少大量自动化扫描。改后连接需加 -p。

高危安全AllowUsers

限制可登录用户

白名单机制,仅允许指定用户或用户组通过 SSH 登录,其他人一律拒绝。

注意安全MaxAuthTries

限制认证尝试次数

MaxAuthTries 限制单次连接的认证失败次数,LoginGraceTime 限制登录超时。

注意安全fail2ban

Fail2Ban 防暴力破解

Fail2Ban 监控日志,对多次失败登录的 IP 自动封禁。jail 配置控制策略。

安全远程执行command

远程执行单条命令

在 ssh 后直接跟上命令,执行完立即返回,不会进入交互式 shell。

安全远程执行command

远程执行多条命令

用引号包裹多条命令,用分号、&& 或 || 串联。&& 表示前一条成功才执行下一条。

安全远程执行heredoc

远程执行脚本块 (here-document)

用 here-document 把一段本地脚本传到远程执行,避免先上传文件再运行。

安全tmuxscreen

tmux 保持远程会话

tmux 让进程在断开连接后继续运行,重连后可恢复会话。长任务必用。

安全nohup后台

nohup 后台运行

nohup 让命令忽略挂断信号,断开 SSH 后进程继续运行,输出重定向到文件。

安全故障排查超时

连接超时排查

连接卡住或超时的常见原因:网络不通、防火墙、端口错误、服务未运行。按步骤排查。

安全故障排查sshd

查看 sshd 日志

服务器端排查认证失败、配置问题,重点看 sshd 的日志输出。

注意故障排查sshd

测试 sshd 配置语法

重启 sshd 前先用 -t 检查配置语法,避免语法错误导致服务起不来把自己锁在外面。

安全telnet端口测试

telnet 测试端口连通性

用 telnet 快速判断远程端口是否开放、SSH 服务是否正常响应协议标识。

安全故障排查权限

修复 SSH 目录权限

SSH 对权限非常敏感,权限过宽会拒绝密钥登录。这是免密登录失败的高频原因。

注意故障排查known_hosts

检查 known_hosts 冲突

主机指纹变化时报 OFFENDING KEY 错误。先用 ssh-keygen -F 定位冲突行,再决定移除还是核对真伪。

注意故障排查agent

Agent 转发排查

开启 agent 转发后可在跳板机上直接用本地密钥访问第三台机器,无需把私钥放到跳板机。

使用帮助