Ssh 远程访问及控制
1:ssh远程原名:open ssh secure shell,主要加密用户与服务器之间的信息传递,通过密文加密传输,工作在TCP的22端口 telnet只要通过明文登录工作在TCP的23端口
2:在工作中有必要修改默认的22 端口,提高安全性,另外为了减少风险,不采用root用户使用远程登录
3:ssh的程序路径在 /usr/sbin/sshd
配置文件在 /etc/ssh/sshd_config之下
再次我们使用u1用户进行登录配置如下:(系统中必须有u1用户才可以)
重启ssh服务 service sshd restart
验证是否成功:使用xshell进行
4:登录方式分为两种:
密码验证和秘钥对验证
密码验证:安全性相对较弱,如果遇到暴力破解防御力较弱
秘钥对验证:分为公钥和私钥,使用公钥加密私钥解密,大大增加了远程管理的安全性
可在配置文件中修改:
从Linux的客户端通过ssh 远程登录:需要接受服务器发来的RSA秘钥进行验证,如果使用的是不同的监听端口要加-p选项指定端口
5:另外程序命令除了ssh之外,患有scp,和sftp命令,scp只要用于远程复制,sftp主要通过远程ftp进行上传的下载
Scp举例:将服务器端的/etc/passwd文件复制到客户端的/tt目录中
另外也可以使用上传使用-r
Scp -r /etc/vsftpd [email protected]:/opt
Sftp进行举例:将本地的123.txt文件上传的sftp中
6:构建密钥对验证ssh体系:
一共可分为四步:
(1)在客户端创建生成秘钥对
(2)从客户端上传公钥到服务器端
(3)将上传的公钥到如到服务器的公钥库中
(4)从客户对进行登录验证
7:首先在客户端进行创建密钥对:通过命令 ssh-keygen -t rsa
8:通过scp命令将公钥上传到服务器
9:在服务器中导入公钥文本到公钥库中
第二步和第三步可以合成为一步通过 ssh-copy-id -i 指定公钥的文件
10:之后可以不用密码进行登录,提高安全性,通过秘钥对验证
11:TCP Wrappers 访问控制
主要针对客户机提供了某种访问控制机制,如:samba,bind,httpd,openssh等 TCP Wrappers 作为应用层与网络层的一道特殊防线,提供额外的安全保障
12:TCP Wrappers的访问策略:
TCP Wrappers机制作为保护对象的各种网络服务程序,针对访问服务的客户机地址进行访问控制,对应有 /etc/hosts.allow 和 /etc/hosts.deny 两个文件分别是指允许和拒绝
策略格式:
<服务程序列表>: <客户机地址列表>
(1)服务列表可以分为以下几类:
ALL: 代表所有的服务
单个服务:如 vsftpd
多个服务: vsftpd,sshd
(2)客户机地址列表:
ALL: 代表任何本地主机
LOCAL: 代表本地主机
单个IP地址: 192.168.1.1
网络地址: 192.168.1.0/255.255.255.0
(3)访问控制的规则:
首先检查 /etc/hosts.allow表,如果没有匹配则检查 /etc/hosts.deny表,如果两个都没有匹配,则表示,默认允许策略
13:拒绝192.168.1.10 的客户机远程访问192.168.1.1 的服务器通过ssh
在服务器端的/etc/hosts.deny 中配置sshd:192.168.1.10后保存
在客户端方验证:
另外允许访问的配置和拒绝配置方式一样,这里不再重复。