ssh远程管理
ssh(Secure Shell)是在应用层和传输层基础上的安全协议
主要用来实现字符界面的远程登陆、控制和复制等功能
ssh协议会对通信双方的数据传输进行加密处理,其中也包括用户登陆时输入的用户口令,所以ssh协议会有和好的安全性
ssh传输时是会对传输数据进行加密和压缩,这样它就有了很好的安全性和加快传输速度
常见的ssh软件
客户端软件:
Linux 客户端: ssh, scp, sftp,slogin
服务端软件:
软件名openssh,服务名sshd。CENTOS 7默认安装的是这个软件包。
实验
ssh 选项端口 主机名@服务器ip地址
-p #指定端口,不加-p默认22端口
登陆
当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用ssh+IP,端口默认即可,如果端口不是默认的情况下,需要使用-p 指定端口
使用用户名登陆
ssh -l 远程远程主机用户名 远程服务器主机名或ip地址 -p
-l #指定登陆名称
-p #指定端口
使用ssh登陆时它可以加上一些命令
如果需要登出的话直接输入exit即可
密钥对认证配置
实验
客户端:192.168.50.110
服务端:192.168.50.105
客户端首次连接服务端时,系统会询问是否交换公钥,进行安全确认。确认连接后,双方的known_hosts文件都会记录对方的公钥。
查看客户端的known_hosts是否记录下服务端的公钥
查看服务端的known_hosts是否记录下客户端的公钥
sshd服务端配置
sshd服务端配置文件:/etc/ssh/sshd_config
常用参数说明:
免密码登陆
服务端:192.168.50.110
客户端:192.168.50.105
所用命令
ssh-keygen -t ecdsa
ssh-copy-id -i id_ecdsa.pub zhangsan@192.168.50.110
ssh-add
设置空密码
设置完这里会出现这两个文件
输完命令后出现这个界面就代表完成了
登陆时无需密码直接进入
TCP Wrappers 访问控制
TCP_Wrappers是一个工作在第四层(传输层)的的安全工具,对有状态连接的特定服务进行安全检测并实现访问控制,凡是包含有libwrap.so库文件的的程序就可以受TCP_Wrappers的安全控制。它的主要功能就是控制谁可以访问
有些进程不受tcp_wrappers管理,例如 httpd、smb、squid等
设置白名单和黑名单
设置白名单:
vim /etc/hosts.allow
设置黑名单:
vim /etc/hosts.deny
(如果白名单和黑名单都设置一个同样的地址,那这个地址可以使用sshd,因为白名单的优先机大于黑名单)