命令行怎么SSH?
- 电脑教程
- 2025-06-11
- 4232
使用系统命令行SSH需输入
ssh 用户名@远程主机地址 -p 端口号
(默认端口22可省略),首次连接需确认主机密钥,之后输入密码或使用密钥认证登录远程服务器。
掌握命令行 SSH 连接:从基础到进阶实践
SSH(Secure Shell)是远程管理服务器和网络设备的黄金标准协议,通过加密通道保障数据传输安全,本文详细讲解不同系统下命令行 SSH 的操作方法,适用于开发、运维及安全人员。
SSH 基础概念
-
核心作用
- 远程登录服务器执行命令
- 安全传输文件(配合 SCP/SFTP)
- 端口转发和隧道加密
安全提示:默认使用 22 端口,建议修改为高位端口(如 5022)降低攻击风险。
-
认证方式对比
| 方式 | 安全性 | 便利性 | 适用场景 |
|—————-|———–|————|——————–|
| 密码登录 | 低 | 高 | 临时访问 |
| 密钥对认证 | 极高 | 中 | 生产环境/自动化 |
各系统 SSH 安装与连接步骤
▍ Windows 系统
-
安装 OpenSSH(Windows 10/11 内置):
# 管理员身份运行 PowerShell Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*' Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
-
基础连接命令:
ssh username@server_ip -p 22 # 示例:ssh admin@192.168.1.100 -p 5022
▍ macOS/Linux 系统
-
检查 SSH 客户端(通常预装):
ssh -V # 显示版本即表示可用
-
连接服务器:
ssh -i ~/.ssh/private_key.pem user@hostname
密钥认证:安全登录的核心实践
▶ 生成密钥对(所有系统通用)
ssh-keygen -t ed25519 -C "your_email@example.com" # -t 指定密钥类型(ed25519 比 RSA 更安全高效) # 默认保存路径:~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥)
▶ 上传公钥到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip # 输入密码后,后续登录无需密码
▶ 配置文件简化登录
创建 ~/.ssh/config
文件:
Host myserver HostName 203.0.113.5 User ubuntu Port 5022 IdentityFile ~/.ssh/myserver_key.pem
之后只需执行:
ssh myserver # 自动使用配置参数
实用高阶操作
-
远程执行命令(不进入 Shell):
ssh user@host "ls -l /var/log"
-
文件传输(SCP 命令):
# 本地 → 远程 scp -P 5022 backup.tar.gz user@host:/opt/backups/ # 远程 → 本地 scp user@host:/home/user/report.pdf ./downloads/
-
端口转发(调试内网服务):
ssh -L 8080:localhost:80 user@gateway_server # 将本地8080映射到远程80端口
故障排除指南
错误提示 | 解决方案 |
---|---|
Permission denied (publickey) |
检查 ~/.ssh 目录权限是否为 700确认公钥已追加到服务器 ~/.ssh/authorized_keys |
Connection timed out |
验证防火墙是否开放端口 使用 telnet server_ip 22 测试端口连通性 |
Host key verification failed |
删除 ~/.ssh/known_hosts 中对应 IP 的记录 |
安全最佳实践
-
禁用密码登录(修改服务器配置):
编辑/etc/ssh/sshd_config
:PasswordAuthentication no PermitRootLogin no
重启服务:
sudo systemctl restart sshd
-
密钥管理原则:
- 私钥权限设为 600:
chmod 600 ~/.ssh/id_ed25519
- 使用密码保护密钥(
ssh-keygen
时设置 passphrase) - 定期轮换密钥(每年至少一次)
- 私钥权限设为 600:
引用说明:本文操作基于 OpenSSH 8.9 官方文档及 NIST 网络安全框架建议,Linux 系统遵循 Filesystem Hierarchy Standard (FHS),Windows 操作兼容 PowerShell 7.0+ 环境,密钥算法推荐参照 NSA 2025 年《Commercial National Security Algorithm Suite》指南。
通过命令行 SSH 可高效管理全球任意服务器,掌握密钥认证与端口转发,将大幅提升工作流安全性和自动化能力,建议在测试环境充分演练后应用于生产系统。