跳转到内容

SSH 与 SFTP

连接远程机器、管理密钥、端口隧道和安全传输文件。真实的 OpenSSH 客户端命令——与你在笔记本上连接服务器、树莓派或 VPS 时输入的相同。

打印或保存此页面以便离线参考。

连接

命令说明
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/高效同步目录,仅传输变化的数据。

在 Android 上使用 终端与 SSH 将其付诸实践。