1.ssh简单介绍
SSH(Secure SHell), 是一种建立在应用层和传输层上的安全协议, 专为远程登录会话和其他网络服务提供安全性.可以有效防止远程管理过程中信息泄露问题, 比如 (Man-In-The-Middle 中间人), 是一个开源协议, 起源于Unix.
和 ftp,pop,Telnet比较:
ftp,pop和Telnet使用明文传输口令和数据, 而ssh使用加密传输,并且能防止DNS和IP哄骗, ssh的传输数据经过了压缩,可以提高传输速度. ssh还有其他很多功能, 比如: 利用PPP通道建立VPN; 使用ssh可以替代ftp,pop和Telnet.
2. SSH 的两种客户端安全验证级别
(1) 基于口令
加密账号和口令,登陆到远程主机, 但不能保证你正在连接的服务器就是你想连接的服务器. 所以服务器可能会被假冒造成中间人攻击.
(2) 基于密匙
在Client和Server上都要有你的密匙, 连接的建立通过比对密匙, 不需要传送口令, 可以防止中间人攻击, 但是登陆时间长.
3.SSH的3部分组成
(1) 传输层协议[SSH-TRANS]
(2) 用户认证层协议[SSH-USERAUTH]
(3) 连接协议[SSH-CONNECT]
4.SSH1 和SSH2
SSH分为1.x和2.x不兼容的两个版本. 但OpenSS同时支持这两个版本.
ssh-server 是一个daemon, 一般是sshd进程; ssh-client 包含ssh程序以及像scp(远程拷贝), slogin(远程登录),sftp(安全文件传输)等应用程序
5.SSH的常用命令和选项
使用方法: ssh [-l login_name] [hostname | [email protected]] [command] ssh [-afgknqtvxCPX246] [-c blowfish | 3des] [-e escape_char] [-i identity_file] [-l login_name] [-o option] [-p port] [-L port:host:hostport] [-R port:host:hostport] [hostname | [email protected]] [command]
(1) 无参数登录ssh, 会自动使用当前系统登录用户名来登录,比如 loger9567 ssh 192.168.1.1
(2) 指定用户名登录 ssh -l roger 192.168.1.1 或者 ssh [email protected]192.168.1.1
(3) 指定端口(default: 22) ssh 192.168.1.2 -p 1234
(4) 对所有数据请求压缩 ssh -C 192.168.1.2 适合网速慢的时候,高速网络中反而不好, 在ssh1 中好像不起作用
(5) 指定加密算法(default: 3des) 需要修改配置文件, 在 /etc/ssh/ssh_config or ~/.ssh/config 中加入一行 Cipher blowfish #假如使用blowfish算法
(6) 打开调试模式, 追踪ssh的连接情况: ssh -v 192.168.0.102
(7) 绑定源地址(因为一个客户端可能不止一个IP) ssh -b 192.168.0.200 -l roger 192.168.1.1
(8) 显示版本 : ssh -V 192.168.1.1
(9) 指定认证文件: ssh -i identify_file 192.168.1.1
(8) 其他如 ssh x11 forwarding 和指定配置文件等, 用到了再查 ......