命令行怎么SSH?

使用系统命令行SSH需输入ssh 用户名@远程主机地址 -p 端口号(默认端口22可省略),首次连接需确认主机密钥,之后输入密码或使用密钥认证登录远程服务器。

掌握命令行 SSH 连接:从基础到进阶实践

SSH(Secure Shell)是远程管理服务器和网络设备的黄金标准协议,通过加密通道保障数据传输安全,本文详细讲解不同系统下命令行 SSH 的操作方法,适用于开发、运维及安全人员。

命令行怎么SSH?


SSH 基础概念

  1. 核心作用

    • 远程登录服务器执行命令
    • 安全传输文件(配合 SCP/SFTP)
    • 端口转发和隧道加密
      安全提示:默认使用 22 端口,建议修改为高位端口(如 5022)降低攻击风险。
  2. 认证方式对比
    | 方式 | 安全性 | 便利性 | 适用场景 |
    |—————-|———–|————|——————–|
    | 密码登录 | 低 | 高 | 临时访问 |
    | 密钥对认证 | 极高 | 中 | 生产环境/自动化 |


各系统 SSH 安装与连接步骤

▍ Windows 系统

  1. 安装 OpenSSH(Windows 10/11 内置):

    # 管理员身份运行 PowerShell
    Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
    Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
  2. 基础连接命令

    ssh username@server_ip -p 22
    # 示例:ssh admin@192.168.1.100 -p 5022

▍ macOS/Linux 系统

  1. 检查 SSH 客户端(通常预装):

    ssh -V  # 显示版本即表示可用
  2. 连接服务器

    ssh -i ~/.ssh/private_key.pem user@hostname

密钥认证:安全登录的核心实践

▶ 生成密钥对(所有系统通用)

命令行怎么SSH?

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  # 自动使用配置参数

实用高阶操作

  1. 远程执行命令(不进入 Shell):

    ssh user@host "ls -l /var/log"
  2. 文件传输(SCP 命令):

    # 本地 → 远程
    scp -P 5022 backup.tar.gz user@host:/opt/backups/  
    # 远程 → 本地
    scp user@host:/home/user/report.pdf ./downloads/
  3. 端口转发(调试内网服务):

    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 的记录

安全最佳实践

  1. 禁用密码登录(修改服务器配置):
    编辑 /etc/ssh/sshd_config

    命令行怎么SSH?

    PasswordAuthentication no  
    PermitRootLogin no  

    重启服务:sudo systemctl restart sshd

  2. 密钥管理原则

    • 私钥权限设为 600:chmod 600 ~/.ssh/id_ed25519
    • 使用密码保护密钥(ssh-keygen 时设置 passphrase)
    • 定期轮换密钥(每年至少一次)

引用说明:本文操作基于 OpenSSH 8.9 官方文档及 NIST 网络安全框架建议,Linux 系统遵循 Filesystem Hierarchy Standard (FHS),Windows 操作兼容 PowerShell 7.0+ 环境,密钥算法推荐参照 NSA 2025 年《Commercial National Security Algorithm Suite》指南。

通过命令行 SSH 可高效管理全球任意服务器,掌握密钥认证与端口转发,将大幅提升工作流安全性和自动化能力,建议在测试环境充分演练后应用于生产系统。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/19994.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月11日 19:50
下一篇 2025年6月11日 19:56

相关推荐

  • AutoCAD取消命令按什么键?

    在AutoCAD中,按键盘左上角的**Esc键**可立即中断当前执行的任何命令,也可**右键单击**选择“取消”,或直接**输入新命令**覆盖当前操作。

    2025年6月22日
    100
  • tnsping通却连不上?

    tnsping命令显示”OK”并附带响应时间(如”OK (10毫秒)”),即表示客户端能成功连接至目标Oracle监听器,网络路径通畅,监听服务正常运行。

    2025年6月20日
    100
  • Mac虚拟机如何命令行快速关机

    在 macOS 的终端中,根据使用的虚拟机软件执行相应命令关机:,1. **Parallels Desktop:** prlctl stop “虚拟机名称” (替换为实际名称),2. **VMware Fusion:** vmrun -T fusion stop “虚拟机路径.vmx” hard (替换为实际路径),3. **VirtualBox:** VBoxManage controlvm “虚拟机名称” poweroff (替换为实际名称),这些命令会强制关闭虚拟机(类似断电),请确保数据已保存。

    2025年6月18日
    200
  • 如何从输入模式切换到命令模式?

    在Vim编辑器中,从输入模式切换到底线命令模式需两步: ,1. 按ESC键退出输入模式返回普通模式 ,2. 在普通模式下按:(冒号),光标将自动跳至窗口底部命令行处,此时可输入命令(如:wq)并回车执行。

    2025年6月13日
    200
  • iOS终端命令行如何更新

    iOS系统本身没有直接可用的update命令行,普通用户通过”设置”˃”通用”˃”软件更新”进行系统升级,开发者更新项目依赖可使用终端命令(如CocoaPods的pod update或Carthage的carthage update),但需提前安装对应工具。

    2025年6月15日
    400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN