SSH远程安全连接

3小时前更新 2 00
SSH远程安全连接SSH远程安全连接
SSH远程安全连接

技能简介

SSH Essentials 提供完整的 SSH 命令参考,覆盖远程服务器连接、密钥生命周期管理、本地与远程端口转发、动态 SOCKS 代理,以及 SCP/SFTP 文件传输等核心场景。

能做什么

  • 建立安全的远程服务器会话,支持指定端口、密钥和命令执行
  • 生成 RSA/ED25519 密钥对,管理 authorized_keys 与 ssh-agent
  • 配置本地端口转发访问内网服务,或反向暴露本地服务到公网
  • 搭建动态 SOCKS5 代理实现流量转发
  • 通过 SCP 或 SFTP 完成加密的文件上传下载
  • 使用 ~/.ssh/config 简化多主机连接配置

使用说明

安装要求

系统需预装 OpenSSH 客户端。Linux/macOS 通常内置;Windows 10+ 可通过「设置 → 应用 → 可选功能 → OpenSSH 客户端」启用,或使用 Git Bash/WSL。

基础连接

# 标准连接
ssh user@hostname

# 指定端口与密钥
ssh -p 2222 -i ~/.ssh/id_rsa user@hostname

# 执行单条命令后断开
ssh user@hostname 'df -h'

密钥管理

# 生成 ED25519 密钥(推荐)
ssh-keygen -t ed25519 -C "your_email@example.com"

# 复制公钥到服务器实现免密登录
ssh-copy-id user@hostname

# 启动 agent 并添加密钥
eval $(ssh-agent) && ssh-add ~/.ssh/id_ed25519

端口转发

# 本地转发:将远程80端口映射到本地8080
ssh -L 8080:localhost:80 user@hostname

# 动态 SOCKS 代理
ssh -D 1080 user@hostname

# 后台保持隧道
ssh -fN -o ServerAliveInterval=60 -L 3306:localhost:3306 user@hostname

文件传输

# SCP 递归复制目录
scp -r ./localdir user@hostname:/remotedir/

# SFTP 交互式会话
sftp user@hostname
sftp> put localfile.txt
sftp> get remotefile.txt

配置文件

编辑 ~/.ssh/config 创建主机别名:

Host prod
    HostName 192.168.1.100
    User deploy
    Port 2222
    IdentityFile ~/.ssh/id_prod
    ForwardAgent yes

之后可直接使用 ssh prod 连接。

输入与输出

见下方输入与输出表格。

项目内容
输入目标主机地址、端口、用户名、认证凭据(密钥或密码)、转发端口参数、文件路径
输出加密终端会话、端口隧道、SOCKS代理通道、文件传输结果、密钥管理状态
适用人群运维工程师、后端开发者、DevOps人员、多服务器管理员、需穿透内网的技术人员
不包含SSH服务端配置、审计日志分析、企业CA证书体系、自动化运维编排工具

 

风险提示

  • 私钥文件权限应为 600,避免被其他用户读取导致未授权访问
  • 生产环境禁止使用无密码密钥(-N “”),除非配合硬件令牌或受限账户
  • 开启 X11 转发(-X/-Y)可能引入图形界面攻击面,敏感服务器建议关闭
  • 远程端口转发(-R)将本地服务暴露到公网,需配合防火墙限制来源 IP
  • 首次连接主机时需验证指纹,防止中间人攻击;禁止习惯性输入 yes 跳过
  • 跳板机(ProxyJump)配置需确保堡垒机安全,避免成为横向移动入口

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/arnarsson/ssh-essentials/SKILL.md
来源类型:GitHub 技能仓库

数据统计

相关导航

暂无评论

none
暂无评论...