1. 登录
# 口令登录[如果客户端的用户名和服务器的用户名相同,可以省略user]
ssh user@host -p port
#私钥 user@host 公钥登录,需要在服务器的.ssh的authorized_keys下有客户端的公钥
ssh -i 私钥 user@host -p port
2. 文件操作
#上传文件example到远程服务器
tar -zc example | ssh yangyue@10.10.2.66 'tar -zx'
#从远程服务器下载文件example
ssh yangyue@10.10.2.66 'tar -zc example' | tar -zx
3. 端口转发
# 本地端口转发:host1和host2可以相互访问,host3能访问host1,但是不能访问host2
在host1:ssh -L 2222:host2:22 user3@host3
在host1:ssh user2@localhost -p 2222
[也称为正向隧道]
# 远程端口转发:host1在外网,host2在内网,现在一台host3想要通过host1访问host2
在host2:ssh -R 2222:localhost:22 user1@host1
在host3:ssh user2@host1 -p 2222
[也称为反向隧道]
# 本地地址转发:host1想通过sock5转发所有流量到host2,如果host2能上google,那么host1也能上,前提是程序要支持sock5
在host1:ssh -D localhost:8888 user2@host2
[也称为正向隧道]
4. 更多有用参数
-N 不打开shell,只连接远程主机
-T 不分配tty,只用来传数据
-f 连接成功后,转入后台