10 个常用实用的 SSH 命令
Secure Shell (SSH) 是系统管理员、开发人员以及任何管理远程服务器的人的必备工具。通过 SSH 远程访问,您可以安全地连接到远程机器、执行命令、传输文件并执行管理任务。在本文中,我们将探讨您今天应该使用的 10 个常见 SSH 命令。
1. 连接到远程服务器
最基本的 SSH 命令用于连接到远程服务器:
ssh user@remote_host
将
user替换为您的用户名,将
remote_host替换为服务器的 IP 地址或域名。
2. 使用特定端口连接
默认情况下,SSH 使用端口 22,但如有必要,您可以指定不同的端口:
ssh -p 2222 user@remote_host
如果 SSH 服务器配置为在非标准端口上运行,这会很有用。
3. 使用 SSH 密钥进行身份验证
您可以使用 SSH 密钥进行身份验证,而不是使用密码:
ssh -i /path/to/private_key user@remote_host
生成 SSH 密钥可以使用:
ssh-keygen -t rsa -b 4096
这提高了安全性,并消除了每次输入密码的需要。
4. 在远程服务器上运行命令
您可以在远程服务器上执行单个命令,而无需打开交互式会话:
ssh user@remote_host "ls -l /var/www/html"
这对于快速的管理任务很有用。
5. 使用 SCP 复制文件
Secure Copy Protocol (SCP) 允许您在本地和远程机器之间传输文件:
scp file.txt user@remote_host:/remote/directory/
要递归复制目录:
scp -r /local/directory user@remote_host:/remote/directory/
6. 使用 rsync 复制文件
SCP 的替代方案是
rsync,它在同步文件时更高效:
rsync -avz /local/directory user@remote_host:/remote/directory
它通过仅发送文件之间的差异来最小化数据传输。
7. 设置 SSH 隧道
SSH 隧道允许您安全地转发网络流量。要创建本地隧道:
ssh -L 8080:localhost:80 user@remote_host
这会将流量从您的本地端口 8080 转发到远程服务器的端口 80。
8. 反向 SSH 隧道
反向隧道允许远程服务器访问您的本地机器:
ssh -R 9090:localhost:22 user@remote_host
这对于访问防火墙后面的系统很有用。
9. SSH 连接多路复用
如果您经常连接到同一台服务器,可以通过启用多路复用来加快 SSH:
ssh -o ControlMaster=yes -o ControlPath=~/.ssh/socket user@remote_host
这减少了多个 SSH 会话的身份验证开销。
10. 终止 SSH 会话
要关闭 SSH 会话,只需输入:
exit
或者使用转义序列:
~.
当连接变得无响应时,这很有帮助。


