25 个必须记住的SSH 命令

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

现 在 你 可 以 直 接 在 浏 览 器 中 输 入
http://localhost:2001 访问这个网站

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

http://fuse.sourceforge.net/sshfs.h
tml 下载 sshfs,它允许你跨网络安全挂载一
个目录

6 、 通过 中 间 主机建立 立 SSH 连 接
ssh -t reachable_host ssh
unreachable_host

Unreachable_host 表示从本地网络无法
直接访问的主机,但可以从 reachable_host
所 在 网 络 访 问 , 这 个 命 令 通 过 到
reachable_host 的“隐藏”连接,创建起到
unreachable_host 的连接。

7 、 将的 你的 SSH 公 钥 复 制到 远 程 主机,开 启
无 密 码 登 录 – 简单的方 法
ssh-copy-id username@hostname

8 、 直 接 连 接到 只 能 通过机 主机 B 连 接的主机
A
ssh -t hostA ssh hostB
当然,你要能访问主机 A 才行。

9 、 创 建到 目 标 主机的 持久 化 连 接
ssh -MNf @
在后台创建到目标主机的持久化连接,将这
个命令和你~/.ssh/config 中的配置结合使

Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no

所有到目标主机的 SSH 连接都将使用持久化
SSH 套接字,如果你使用 SSH 定期同步文件
(使用 rsync/sftp/cvs/svn),这个命令
将非常有用,因为每次打开一个 SSH 连接时不
会创建新的套接字

10 、 通过 SSH 连 接 屏 幕
ssh -t remote_host screen –r
直接连接到远程屏幕会话(节省了无用的父
bash 进程)。

11 、 端 口 检测 ( 敲 门 )

knock <host> 3000 4000 5000 && ssh -p
<port> user@host && knock <host> 5000
4000 3000

在一个端口上敲一下打开某个服务的端口
(如 SSH),再敲一下关闭该端口,需要先安
装 knockd,下面是一个配置文件示例。

[options]
logfile = /var/log/knockd.log
[openSSH]
sequence = 3000,4000,5000
seq_timeout = 5
command = /sbin/iptables -A INPUT -i eth0
-s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 5000,4000,3000
seq_timeout = 5
command = /sbin/iptables -D INPUT -i eth0
-s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = 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 -C
user@newhost “mysql -uUSER -pPASS
NEW_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 >>

本文一部分是借鉴网上的。

猜你喜欢

转载自blog.csdn.net/qq_40907977/article/details/80679952
今日推荐