ssh安装与配置管理服务
1.ssh协议:安全外壳协议,ssh为建立在应用层和传输层基础上的安全协议
作用:ssh服务使ssh协议可以用来进行远程控制
a.telnet:明文传输(不安全)
b.ssh:加密传输
2.需要安装openssh:提供服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,代替了:telnet或ftp
在centos中有四个软件包:(看图)
查看软件包:
cd /mnt/cd/Packages
ls openssh *
安装:
yum install openssh openssh-clients openssh-server -y
查看:
rpm -ivh /mnt/cd/Packages/openssh* .rpm(本地安装)
rpm -qa |grep openssh
查看生成的文件:
rpm -q|openssh
配置文件:
vim /etc/ssh/ssh_config //客户端的配置文件
vim /etc/sshd_config //服务端的配置文件
ssh_config:为客户端配置文件,设置与客户端相关的应用可通过此文件实现
sshd_config:为服务器端配置文件,设置与服务器相关的应用可通过此文件实现
启动脚本:
systemctl |restart|stop|start|status.sshd
开机启动服务
chkconfig sshd on
或systemctl enable sshd
注意:正在将请求转发到:“systemctl enable sshd.service”
查看所有开机的服务:
system'ctl list-unit-files |grep sshd
3.如何ssh远程连接主机:
ssh 【远程主机的用户名】@【远程服务器主机名或ip】-p port
例如:ssh root@192.168.1.66 -p 22
创建普通用户并设置密码为123456:
useradd cat && echo 123456 |password -stdin cat
第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连接,输入yes后登录,这时系统会记录下远程服务器信息
cat /root/.ssh/know_hosts
sshd服务配置和管理
1.配置文件及端口
vim /etc/ssh/sshd_config
port 22 预设使用22这个port,假如开放sshd的端口和222,多加一行;port222
建议修改port number 为其他端口,防止被暴力破解
systemctl restart sshd //重启sshd
netstat -tlunp |grep sshd //监听222端口
ssh -p 222 【ip】//登录方法
vim /etc/ssh/ssh_host_key //设置密钥的文件
vim /var/log/secure //sshd服务日志文件位置
vim /etc/rsyslog.conf //查看日志配置文件
配置文件的介绍:
1.loglevel INFO //定义登录记录的等级
2.LoginGraceTime 2m //设置远程连接那个主机,在没输入密码的情况下,2min自动退出
3.permit rootlogin yes //默认允许。如果是no,则只能允许普通用户登录,再切换root
4.password authentication yes //密码验证 (真实的环境下,根据不同安全级别要求,有的不需要密码登录,通过认证的密钥登录)
5.permit empty password no //是否允许空密码登录,默认no不允许
6.print lastlog yes :显示上次登录的信息
7.useDNS yes:为了要判断客户端来源是正常合法的,因此会使用dns去反查客户端的主机名,如果设置为no,会联机速度会快些
为了ssh安全由两种方法:
一、配置安全的sshd服务:
1.密码复杂度
2.修改默认端口号
3.不允许root直接登录,添加普通账号,授予root权限
4.不允许密码登录,只能允许通过密钥来登录系统(判断用户是否为超级管理员,看看id是否为0)
##通过密钥认证实现sshd认证:(客户端生成key传到服务端)
ssh-keygen 生成密钥(默认密钥存放位置:/root/.ssh/id_rsa)如果指定路径后边就加一个斜杠:/etc/。。。
注意:可以直接回车不设置密码
上传服务端:
ssh-copy-id-i 【服务器ip】 //这是默认端口的命令
ssh-copy -id -i ~/.ssh/id_rsa.pub -p 222 root@【ip】 //这是端口号改成了222
二:通过开源软件来防护(简单、灵活、强大)
1.软件包:http://www.fail2ban.org
安装:
yum -y install fail2ban
查看 :
ls /etc/fail2ban/
2.里面安装的包含的内容(看图)
3.实例:
注意:优先级大于全局设置:如果单个执行范围小,那么优先执行单个的配置。
启动:
systemctl start fail2ban
> /var/log/secure/ 清空日志
iptables -L -n 查看这个规则,发现安装好f2b那个文件l
查看端口是否启动:
lsof-i:80
fail2ban -client status sshd 查看sshd的状态
tail /var/log/fail2ban.log 查看日志