连接
| 命令 | 说明 |
|---|
ssh user@host | 在远程主机上打开一个 shell。 |
ssh -p 2222 user@host | 在非默认端口连接。 |
ssh -i key.pem user@host | 使用指定私钥进行认证。 |
ssh user@host 'cmd' | 远程运行单条命令后退出。 |
密钥
| 命令 | 说明 |
|---|
ssh-keygen -t ed25519 | 生成现代的 Ed25519 密钥对。 |
ssh-copy-id user@host | 把你的公钥安装到服务器。 |
ssh-add key | 将私钥加载到 SSH 代理。 |
chmod 600 ~/.ssh/id_ed25519 | 限制密钥权限(SSH 要求)。 |
隧道与转发
| 命令 | 说明 |
|---|
ssh -L 8080:localhost:80 host | 本地转发:在本地访问远程端口。 |
ssh -R 9000:localhost:3000 host | 远程转发:在服务器上暴露本地端口。 |
ssh -D 1080 host | 在 SSH 连接上建立动态 SOCKS 代理。 |
ssh -N -f host | 在后台打开隧道,无 shell。 |
配置与代理
| 命令 | 说明 |
|---|
~/.ssh/config | 按主机配置:Host、HostName、User、Port、IdentityFile。 |
ssh -v user@host | 详细输出,用于调试失败的连接。 |
ServerAliveInterval 60 | 保活设置,防止空闲断开。 |
ssh-add -l | 列出当前加载到代理的密钥。 |
SFTP 与文件传输
| 命令 | 说明 |
|---|
sftp user@host | 打开交互式安全文件传输会话。 |
put localfile | 上传文件到远程主机(sftp 内)。 |
get remotefile | 从远程主机下载文件。 |
scp file user@host:/path | 用一条命令把文件复制到远程路径。 |
rsync -avz src/ host:dst/ | 高效同步目录,仅传输变化的数据。 |