本文共 2552 字,大约阅读时间需要 8 分钟。
OpenSSH 是 SSH 连接工具的免费版本。
telnet,rlogin 和 ftp 用户可能还
没意识到他们在互联网上传输的密码是未加密 的,但 SSH 是加密的,OpenSSH 加密所有通信 (包括密码),有效消除了窃听,连接劫持和 其它攻击。此外,OpenSSH 提供了安全隧道功 能和多种身份验证方法,支持 SSH 协议的所有 版本。SSH 是一个非常伟大的工具,如果你要在互
联网上远程连接到服务器,那么 SSH 无疑是最
佳的候选1 、 复制 制 SSH 密 钥 到 目 标 主机,开 启 无 密 码
SSH 登ssh-copy-id user@host
2、从 某的 主机的 80 端 口 开 启 到本 地 主机
2001 端 口 的 隧ssh -N -L2001:localhost:80 somemachine
现 在 你 可 以 直 接 在 浏 览 器 中 输 入
访问这个网站3 、 将 你的 麦 克 风 输 出 到 远 程 计 算 机的 扬 声
器 dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp这样来自你麦克风端口的声音将在 SSH 目标
计算机的扬声器端口输出4、比 较远 程 和本 地 文件
ssh user@host cat /path/to/remotefile | diff /path/to/localfile –5 、 通过 SSH 挂 载 目录/ 文件系统
sshfs name@server:/path/to/folder /path/to/mount/point从
tml 下载 sshfs,它允许你跨网络安全挂载一 个目录6 、 通过 中 间 主机建立 立 SSH 连 接
ssh -t reachable_host ssh unreachable_hostUnreachable_host 表示从本地网络无法
直接访问的主机,但可以从 reachable_host 所 在 网 络 访 问 , 这 个 命 令 通 过 到 reachable_host 的“隐藏”连接,创建起到 unreachable_host 的连接。7 、 将的 你的 SSH 公 钥 复 制到 远 程 主机,开 启
无 密 码 登 录 – 简单的方 法 ssh-copy-id username@hostname8 、 直 接 连 接到 只 能 通过机 主机 B 连 接的主机
A ssh -t hostA ssh hostB 当然,你要能访问主机 A 才行。9 、 创 建到 目 标 主机的 持久 化 连 接
ssh -MNf @ 在后台创建到目标主机的持久化连接,将这 个命令和你~/.ssh/config 中的配置结合使 用Host hostControlPath ~/.ssh/master-%r@%h:%pControlMaster no
所有到目标主机的 SSH 连接都将使用持久化
SSH 套接字,如果你使用 SSH 定期同步文件 (使用 rsync/sftp/cvs/svn),这个命令 将非常有用,因为每次打开一个 SSH 连接时不 会创建新的套接字10 、 通过 SSH 连 接 屏 幕
ssh -t remote_host screen –r 直接连接到远程屏幕会话(节省了无用的父 bash 进程)。11 、 端 口 检测 ( 敲 门 )
knock3000 4000 5000 && ssh -p user@host && knock 50004000 3000
在一个端口上敲一下打开某个服务的端口
(如 SSH),再敲一下关闭该端口,需要先安 装 knockd,下面是一个配置文件示例。[options]logfile = /var/log/knockd.log[openSSH]sequence = 3000,4000,5000seq_timeout = 5command = /sbin/iptables -A INPUT -i eth0-s %IP% -p tcp –dport 22 -j ACCEPTtcpflags = syn[closeSSH]sequence = 5000,4000,3000seq_timeout = 5command = /sbin/iptables -D INPUT -i eth0-s %IP% -p tcp –dport 22 -j ACCEPTtcpflags = syn
12 、 删除 文本文件中的一行内 容 , 有 用的
修复 ssh-keygen -R 在这种情况下,最好使用专业的工具。13 、 通过 SSH 运行 复 杂的 远程 程 shell 命令
ssh host -l user $(ssh host -l user “`cat cmd.txt`”
14 、过 通过 SSH 将 将 MySQL 数据库 复 制到新服
务器mysqldump –add-drop-table –extended-insert –force –log-error=error.log-uUSER -pPASS OLD_DB_NAME | ssh -Cuser@newhost “mysql -uUSER -pPASSNEW_DB_NAME”
通过压缩的 SSH 隧道 Dump 一个 MySQL 数据
库,将其作为输入传递给 mysql 命令,我认为 这是迁移数据库到新服务器最快最好的方法。15 、 删除 文本文件中的一行, 修复 “SSH 主
机 密 钥 更 改 ” 的 警 告 sed -i 8d ~/.ssh/known_hosts 16 、从一有 台没有 SSH-COPY-ID 命令 的主机 将 你的 SSH 公 钥 复 制到服务器 cat ~/.ssh/id_rsa.pub | ssh user@machine “mkdir ~/.ssh; cat >>本文一部分是借鉴网上的。
转载地址:http://ljai.baihongyu.com/