前言
Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。
传统的网络服务程序,如rsh、FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口
令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器
的数据,然后再冒充用户把数据传给真正的服务器。而SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH
协议可以有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
SSH之另一项优点为其传输的数据可以是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为
FTP、POP、甚至为PPP提供一个安全的“通道”。 『维基百科』
一、ssh命令
- ssh参数解释
格式;
ssh [user@]host [command]
选项:
- -1:强制使用ssh协议版本1
- -2:强制使用ssh协议版本2
- -4:强制使用IPv4地址
- -6:强制使用IPv6地址
- -A:开启认证代理连接转发功能
- -a:关闭认证代理连接转发功能
- -b:使用本机指定地址作为对应连接的源ip地址
- -C:请求压缩所有数据
- -c:选择所加密的密码型式 (blowfish|3des 预设是3des)
- -e:设定跳脱字符
- -F:指定ssh指令的配置文件
- -f:后台执行ssh指令
- -g:允许远程主机连接主机的转发端口
- -i:指定身份文件(预设是在使用者的家目录 中的 .ssh/identity)
- -l:指定连接远程服务器登录用户名
- -N:不执行远程指令
- -n:重定向stdin 到 /dev/null
- -o:指定配置选项
- -p:指定远程服务器上的端口(默认22)
- -P:使用非特定的 port 去对外联机(注意这个选项会关掉 RhostsAuthentication 和 RhostsRSAAuthentication)
- -q:静默模式
- -T:禁止分配伪终端
- -t:强制配置 pseudo-tty
- -v:打印更详细信息
- -X:开启X11转发功能
- -x:关闭X11转发功能
- -y:开启信任X11转发功能
- -L listen-port:host:port 指派本地的 port 到达端机器地址上的 port
- 建立本地SSH隧道(本地客户端建立监听端口)
- 将本地机(客户机)的某个端口转发到远端指定机器的指定端口.
- -R listen-port:host:port 指派远程上的 port 到本地地址上的 port
- 建立远程SSH隧道(隧道服务端建立监听端口)
- 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口.
- -D port 指定一个本地机器 “动态的’’ 应用程序端口转发.