一、SSH
1.SSH(Secure Shell),安全通道协议,主要实现字符界面的远程连接、远程复制等;加密数据传输、用户密码、指令等
2.Telnet(远程登录):一般用户远程连接网络设备,如交换机等;还可用于端口测试;不加密数据
3.C(Client)/S(Server)
4.openssh软件包提供SSH协议
5.登录验证方式
1)密码验证:远程连接时与服务器中用户名密码匹配,允许登录
2)密码对验证:客户端创建密钥(私钥、公钥),将公钥放到服务器指定位置(/root/.ssh/),服务器能解析客户端的发送数据,即允许登录
6.SSH客户端
1)Windows连接Linux:Xshell、CRT
2)Linux连接Linux:ssh命令、scp(拷贝)
二、密码验证方式(以下编辑应先去掉或添加前边注释#号后更改)
1)编辑密钥验证方式 vim /etc/ssh/sshd_config
//ssh协议监听端口,默认22
//监听的IPV4地址;0.0.0.0监听所有IP地址
//删除此行,次行为设置监听IPV6地址
//设置连接的无操作时间,到达时间后断开连接
//允许root用户使用ssh
//密码错误次数
//最大连接数量
//不允许密码为空的用户使用ssh
/启用密码验证方式
//禁用GSSAPI验证方式
//禁用GSSAPI
//禁用DNS解析
//登录ssh时提示文件
//只允许hehe用户登录;DenyUsers hehe拒绝hehe用户登录;不要同时启用(自己根据情况是否添加)
2)重启sshd服务 /etc/init.d/sshd restart
4.chkconfig --level 35 sshd on //启动3、5运行级别sshd开启自启
5.Linux验证:ssh 用户名@IP //Linux远程连接Linux服务器
6.Linux拷贝文件:scp 本地文件 用户名@IP:路径 //将Linux本地文件上传到远程Linux服务器指定位置
7.Linux下载文件:scp 用户名@IP:路径 本地路径 //将远程Linux服务的文件拷贝到本地Linux系统中
三、密钥对验证方式
1. linux客户端生成密钥对;-t指定密钥类型、-b指定加密位数 ssh-keygen -t rsa -b 1024
2.客户端上传Linux本地公钥到远程Linux服务端系统root用户家目录下 scp ~/.ssh/id_rsa.pub [email protected]:/root/
3. 在Linux服务器上创建.ssh目录 mkdir .ssh
4.在Linux服务器上将/root/id_rsa.pub移动到~/.ssh/authorized_keys
5.编辑linux服务器上密钥验证方式 vim /etc/ssh/sshd_config
PubkeyAuthentication yes //启用密钥对认证 AuthorizedKeysFile .ssh/authorized_keys //指定公钥文件位置
PasswordAuthentication no //禁用密码验证方式
6. 重启sshd服务 /etc/init.d/sshd restart
7. 验证无密码登录
注:如果想多用户密钥对登录,将公钥文件拷贝到多个用户.ssh/authorized_keys;建议一个密钥对实现一个用户登录,也可用于使用同一公钥文件
四、TCP Wapper
1.实现控制服务的访问
2.TCP Wapper
1) 允许访问的文件列表/etc/hosts.allow 中添加允许访问的服务+(IP或者网段)
2)拒绝访问的文件列表/etc/hosts.deny
3.访问优先级
1)先检查/etc/hosts.allow是否有对应条目,如有则允许访问
2)再检查/etc/hosts.deny是否有对否条目,如有则拒绝访问
3)如两个文件都未有客户端对应条目,则允许访问
案例:
vim /etc/hosts.deny
服务名:IP
sshd:192.168.1. //拒绝192.168.1.0网段访问sshd服务,其余全部允许
sshd:ALL //拒绝所有网段访问sshd服务
sshd:192.168.1.10 //拒绝192.168.1.10访问sshd服务,其余全部允许