Plantre Plantre
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

plantre

一个后端开发者
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 虚拟化

  • Git

  • 可视化

  • Linux

    • Linux 系统中常见目录符号
    • nohub启动jar并保存日志到文件
    • Linux添加SSH公钥
    • ssh命令常用场景详解
    • lvm是什么,和文件系统什么关系,windows下有吗
    • linux查询某个文件夹大小
    • linux删除某个文件夹
    • linux根目录下的文件夹解析
    • linux的文件权限解析
    • dev-null是什么
    • 2&1是什么意思
    • .ssh下有哪些文件,分别有什么作用
    • known_hosts具体举例说明
    • 非对称加密原理和真实数据举例
    • 查询linux端口是否占用
    • 若 SELinux 处于 Enforcing 模式,需在挂载路径后添加 Z是什么意思
    • linux查看每个进程内存大小
    • 分辨文件的种类
  • 远程串流等

  • SWF

  • 网络

  • 网站收藏
  • 技术
  • Linux
plantre
2025-05-08

ssh命令常用场景详解

以下是SSH命令的常用场景详解,涵盖远程管理、文件传输、网络隧道等核心应用,结合不同场景的操作示例和安全建议:


一、基础场景:远程登录与服务器管理

  1. 安全登录远程服务器

    ssh username@hostname  # 默认端口22
    ssh -p 2222 user@192.168.1.100  # 指定非标端口
    
    1
    2

    应用场景:运维人员管理Linux服务器、云主机(如腾讯云/阿里云实例)。
    安全建议:建议禁用root直接登录,改用普通用户+sudo权限。

  2. 密钥认证免密登录

    ssh-keygen -t rsa  # 生成密钥对
    ssh-copy-id user@hostname  # 上传公钥至服务器
    
    1
    2

    优势:比密码更安全,避免暴力破解风险。
    注意:私钥需设置600权限,禁止外泄。


二、文件传输场景

  1. SCP加密传输文件

    scp file.txt user@host:/remote/path  # 上传本地文件
    scp -P 2222 user@host:/data/logs/*.log ./  # 下载远程文件
    
    1
    2

    适用场景:部署代码、备份日志或传输配置文件。

  2. SFTP交互式文件管理

    sftp user@hostname  # 启动交互式会话
    sftp> put local_file  # 上传文件
    sftp> get remote_file  # 下载文件
    
    1
    2
    3

    优势:支持目录浏览、断点续传,适合批量操作。


三、网络隧道与端口转发

  1. 本地端口转发(访问内网服务)

    ssh -L 3306:db.internal:3306 jump@bastion-host  # 映射内网数据库
    
    1

    场景:通过跳板机访问内网MySQL、Redis等受限服务。

  2. 远程端口转发(暴露本地服务)

    ssh -R 8080:localhost:80 user@public-server  # 将本地Web服务暴露到公网
    
    1

    应用:开发调试时临时分享本地服务,需服务器配置GatewayPorts yes。

  3. 动态端口转发(全局代理)

    ssh -D 1080 user@proxy-server  # 创建SOCKS5代理
    
    1

    用途:加密浏览器流量,绕过网络限制访问外网资源。


四、自动化运维场景

  1. 远程执行命令

    ssh user@host "ls /var/log"  # 单次命令执行
    ssh host "tar -czf - /data" > backup.tar.gz  # 打包远程目录到本地
    
    1
    2

    扩展应用:结合Ansible、Shell脚本实现批量服务器操作。

  2. 保持长连接

    ssh -o ServerAliveInterval=60 user@host  # 每60秒发送心跳包
    
    1

    解决痛点:防止SSH会话因空闲断开,适合长时间任务。


五、高级功能与安全配置

  1. X11图形界面转发

    ssh -X user@hostname  # 启用X11转发
    xclock  # 在远程运行图形程序并本地显示
    
    1
    2

    适用场景:远程运行GUI工具(如Wireshark、IDE)。

  2. SSH配置文件优化

    vi ~/.ssh/config  # 自定义连接参数
    Host myserver
      HostName 192.168.1.100
      Port 2222
      User admin
      IdentityFile ~/.ssh/myserver_key
    
    1
    2
    3
    4
    5
    6

    优势:简化重复输入,支持多主机别名管理。

  3. 安全加固措施
    • 修改默认端口:Port 2222(需同步调整防火墙)

    • 禁用密码登录:PasswordAuthentication no

    • IP白名单限制:AllowUsers user@192.168.1.*


六、典型问题解决方案

问题 解决方法
连接超时 检查防火墙规则、SSH服务状态(systemctl status sshd)
文件传输权限错误 确保目标目录可写(chmod 755 /path),或使用sudo提权
密钥认证失败 检查~/.ssh/authorized_keys文件权限(应为600),确认公钥内容完整

总结 SSH不仅是远程登录工具,更是安全运维的核心组件。掌握其多场景应用(如隧道穿透、自动化脚本、密钥管理),可大幅提升工作效率。建议优先使用密钥认证,并定期审计SSH日志(/var/log/auth.log)以防范未授权访问。

编辑 (opens new window)
上次更新: 2025/06/10, 09:18:05
Linux添加SSH公钥
lvm是什么,和文件系统什么关系,windows下有吗

← Linux添加SSH公钥 lvm是什么,和文件系统什么关系,windows下有吗→

最近更新
01
集成loki
07-04
02
TCP的ESTABLISHED是什么意思
06-24
03
安装1panel
06-24
更多文章>
Theme by Vdoing | Copyright © 2025-2025 plantre | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式