SSH 为 Secure Shell 的缩写,SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。S S H客户端适用于多种平台。
SSH分为SSH-1和SSH-2两版本,ssh-2同时使用非对称密钥(公钥和私钥)和对称密钥(加密解密使用同一个密钥)。非对称密钥用来进行ssh服务器和SSH客户端的认证,然后在ssh服务器和客户端之间协商一个对称密钥,叫做会话密钥。SSH服务器和客户端的交互数据通过这个会话密钥进行加密。原因呢? 因为使用对称密钥加解密要比非对称密钥快。
SSH支持的算法:
1. RSA和DSA用于非对称密钥
2. AES,Blowfish,3DES,CAST128等用于对称密钥
3. MD5和SHA用于数据完整性校验
4. Gzip用于数据压缩
启动SSH服务:
- # /etc/init.d/sshd start
开启了防火墙的系统可能需要配置防火墙:
- # iptables -I INPUT -p tcp –dport 22 -j ACCEPT
SSH服务器端系统都是UNIX或者Linux,客户端主要分为两大类UNIX(Linux)和Windows,下面分别介绍两种系统下单客户端连接服务器的方法:
Linux 客户端(已经安装了ssh-server 和 ssh-client):
方法一:默认以密码验证方式登录(ssh-server:192.168.1.8 ssh-client:192.168.1.3)
- # ssh root@192.168.1.8
1.创建SSH 公钥/私钥对(在ssh客户端创建)
- $ ssh-keygen #应输入一个非空密钥口令
2.确认请求的远程目录确实存在(不存在则创建目录)
- $ ssh root@192.168.1.8 ‘mkdir ~/.ssh’
3.将本地公钥上传至远程主机
- $ cat ~/.ssh/id_rsa.pub | ssh root@192.168.1.8 ‘cat – >> ~/.ssh/authorized_keys’
此命令执行结果(服务器端),文件权限是:644
4. 确保正确设置了文件权限
- $ ssh root@192.168.1.8 ‘chmod 700 ~/.ssh/authorized_keys’
此命令执行结果(服务器端), 文件权限:700
5. 验证登录
$ ssh root@192.168.1.8