本文共 1610 字,大约阅读时间需要 5 分钟。
OpenSSH 是 SSH 协议的免费实现,广泛应用于安全的远程连接。与传统的 telnet、rlogin 和 ftp 不同,OpenSSH 采用加密通信方式,确保密码和数据传输的安全性,有效防止窃听和网络攻击。
复制 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
OpenSSH 提供了强大的远程连接功能,适用于日常开发、系统管理和数据传输等多种场景。
转载地址:http://ljai.baihongyu.com/