博客
关于我
25 个必须记住的SSH 命令
阅读量:193 次
发布时间:2019-02-28

本文共 1610 字,大约阅读时间需要 5 分钟。

OpenSSH:安全的远程连接工具

OpenSSH 是 SSH 协议的免费实现,广泛应用于安全的远程连接。与传统的 telnet、rlogin 和 ftp 不同,OpenSSH 采用加密通信方式,确保密码和数据传输的安全性,有效防止窃听和网络攻击。

OpenSSH 的核心优势

  • 加密通信:OpenSSH 将所有通信内容(包括密码)加密,保护数据隐私。
  • 多种身份验证方式:支持多种认证机制,满足不同环境的安全需求。
  • 跨平台兼容性:无论是 Linux、macOS 还是 Windows,OpenSSH 都提供稳定的远程连接解决方案。
  • 常用 SSH 命令汇总

  • 复制 SSH 密钥

    使用 ssh-copy-id 命令将本地 SSH 密钥复制到目标主机,支持无密码登录:

    ssh-copy-id user@host
  • 端口转发(隧道)

    将本地端口转发到远程服务器:

    ssh -N -L2001:localhost:80 somemachine

    现在可以通过本地浏览器访问目标服务器的网站。

  • 麦克风输入输出

    将麦克风输出传输至远程扬声器:

    dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp
  • 文件比较

    比较本地和远程文件差异:

    ssh user@host cat /path/to/remotefile | diff /path/to/localfile
  • 挂载远程文件系统

    安全挂载远程目录:

    sshfs name@server:/path/to/folder /path/to/mount/point

    下载 sshfs 工具以实现跨网络目录访问。

  • 通过中继服务器连接

    使用中间主机建立 SSH 隧道:

    ssh -t reachable_host ssh unreachable_host

    适用于从本地网络无法直接访问的远程主机。

  • 复制 SSH 公钥

    将 SSH 公钥复制到远程主机,支持无密码登录:

    ssh-copy-id username@hostname
  • 间接连接

    通过只能通过主机 B 连接的主机 A:

    ssh -t hostA ssh hostB
  • 持久化 SSH 连接

    后台创建持久化 SSH 套接字:

    ssh -MNf @

    配合 ~/.ssh/config 文件实现定期文件同步的需求。

  • SSH 会话屏幕

    分离远程屏幕会话:

    ssh -t remote_host screen –r
  • 端口检测(敲门)

    使用 knockd 工具检测特定端口状态:

    knock host 3000 4000 5000 && ssh -p user@host knock host 5000 4000 3000

    安装 knockd 后,根据配置文件开启端口检测。

  • 删除文本文件内容

    使用 sed 删除特定行:

    sed -i 8d ~/.ssh/known_hosts
  • 执行远程命令

    执行本地脚本或命令:

    ssh host -l user “`cat cmd.txt`”
  • MySQL 数据库迁移

    使用 SSH 隧道复制数据库:

    mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uUSER -pPASS OLD_DB_NAME | ssh -C user@newhost “mysql -uUSER -pPASSNEW_DB_NAME”
  • 删除文本文件行

    修复 SSH 主机密钥警告:

    sed -i 8d ~/.ssh/known_hosts
  • 注意事项

    • 安全性:使用 SSH 的所有操作应遵循安全规范,避免暴露私密密钥。
    • 配置优化:合理配置 SSH 客户端和服务器,提升连接效率和安全性。

    OpenSSH 提供了强大的远程连接功能,适用于日常开发、系统管理和数据传输等多种场景。

    转载地址:http://ljai.baihongyu.com/

    你可能感兴趣的文章
    Python:将列表与范围列表合并
    查看>>
    Python:将列表列表初始化为一定大小,
    查看>>
    Python:带有生成器的给定集合的幂集
    查看>>
    Python:按字符的位置拆分字符串
    查看>>
    Python:替换嵌套字典中的值
    查看>>
    Python:爬取数据出现response.status_code为403解决方法
    查看>>
    Python:爬取数据出现response.status_code为418解决方法
    查看>>
    Python:生成“元组集“;来自“元组列表“;不考虑顺序
    查看>>
    Python:生成具有趋势的随机时间序列数据(例如周期性、指数衰减等)
    查看>>
    Python:用渐进式数字重命名列表中的重复项而不对列表进行排序
    查看>>
    Python:矩形参数无效
    查看>>
    Python:语法进阶
    查看>>
    Python:调用复制函数时调用 Python 对象时超出了最大递归深度
    查看>>
    Python:这两个 import 语句有什么区别?
    查看>>
    Python:通过串口从 Velleman k8090 读取数据
    查看>>
    python:遍历具有列表值的字典
    查看>>
    Python:降低精度 pandas 时间戳数据帧
    查看>>
    python:非阻塞子进程,检查标准输出
    查看>>
    PythonABC多重继承
    查看>>
    Pythonargparse中的多个参数
    查看>>