命令行怎么SSH?
- 电脑教程
- 2025-06-11
- 2229
 使用系统命令行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 可高效管理全球任意服务器,掌握密钥认证与端口转发,将大幅提升工作流安全性和自动化能力,建议在测试环境充分演练后应用于生产系统。
 
  
			 
			