Linux基础 sshd服务

一、sshd的key认证

1.在服务端

设置公钥(相当于是个锁)输入命令:ssh-keygen   生成加密字符,被保存到/root/。ssh/id_rsa.pub.

 

 2.给服务器加密(原始密码认证关闭前加密):输入命令 ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.227

然后输入命令查看:ls -a /root/.ssh/,看是否有authorized_keys这个文件存在,有的话说明加密成功。

3.给客户端分发钥匙:scp /root/.ssh/id_rsa root@172.25.254.127:/root/.ssh/

 

4.测试:在客户主机或客户端中操作,连接服务器,ssh root@172.25.254.227,连接时发现直接登陆不需要root登陆系统的密码认证。

 

 

二、sshd的安全设定。

1. 在服务器关闭原始密码认证。(禁止客户端输入密码的权限)命令:vim /etc/ssh/sshd_config

   78行的这串字符PasswordAuthentication最后边的yes改为no,退出保存。

 然后重新启动服务,命令:systemctl restart sshd.service.

测试:在客户端测试,连接服务器,看是否还能输入密码认证。测试成功后,恢复原来的yes。

 

2.是否允许root用户通过sshd的服务认证。命令:vim /etc/ssh/sshd_config

   48行的这串字符PermitRootLogin最后边的yes改为no,退出保存。

 

   然后重新启动服务,命令:systemctl restart sshd.service.

   测试:在客户端测试,看是否root用户允许连接服务器。测试成功后,恢复原来的yes。

 

3.设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd的认证。(指定某用户连接,其他用户不能连接)命令:vim /etc/ssh/sshd_config

  50行左右编辑加入AllowUsers 用户名(可以多个),退出保存。

然后重新启动服务,命令:systemctl restart sshd.service.

测试:在客户端测试,看除了设定的这个用户之外的其他用户能否连接。测试成功后,注释掉这个设置。

4.设定用户黑名单,黑名单出现默认不在名单中的用户可以使用sshd的认证。(除了这个用户不能连接,其他用户都可以连接)命令:vim /etc/ssh/sshd_config

 50行左右编辑加入DenyUsers 用户名(可以多个),退出保存。

然后重新启动服务,命令:systemctl restart sshd.service.

测试:在客户端测试,看设定的这个用户能否连接,测试成功后,注释掉这个设置。

 三、添加sshd登陆信息

 vim /etc/motd   ,然后输入自己设定的登陆信息,退出保存。文件内容就是登陆后显示的信息

 

 四。用户的登陆审计

1.w   参数        查看正在使用当前系统的用户

   -f          查看使用来源

    -i          显示ip

信息都在 /var/run/utmp)

2.last      查看使用过并退出的用户信息(信息都在/var/log/wtmp里)

 lastb      试图登陆但没成功的用户    (信息都在/var/log/btmp里)

  

 五。文件在系统中的传输(这个过程不用ssh连接)

1.scp  (复制)

  scp  file   user@ip(服务器):/root/Desktop(桌面路径)上传:将本机文件上传到远程服务器上

 

scp -r /etc/ user @ip(服务器):/mnt/    下载:将远程服务器上的文件复制到本机

 

2.rsync 传输  (远程同步,速度快,默认会忽略,文件属性,链接文件,设备文件,但可以加参数使其把忽略的文件也进行同步传输)

  参数: -r   同步目录(rsync -r /mnt/ root@172.25.254.227:/mnt/)   

-p   同步权限

-l   同步链接

  -o   同步文件所有人

       

  -g  同步文件所有组

-t   同步文件时间戳

 -D   同步设备文件

 命令:du -sh /etc/    查文件/目录的大小。

 

注意:无论是scp还是rsync传输文件,待传输文件是一个目录下多个文件或还有子目录时:

     目录后加“/”表示不传输这个目录,只传输目录下的内容。如:rsync /etc/ root@172.25.254.227:/mnt/这将etc目录下的内容传输给了服务器到/mnt/目录下。

      目录后不加“/”表示连同这个目录一起传输,如:rsync /mnt root@172.25.254.227:/mnt/这连带etc目录传输给了172.25.254.227到/mnt/。

         

3.tar 文件归档 (归档文件,把很多个文件变成一个文件)

 参数:-c   创建

           -f   指定归档文件名称

 

 -v   显示过程

 -x   解档

  -t   查看归档文件内容

   -r   添加文件到归档中

  --get  解档指定文件

  --delete 删除归档中的指定文件

  -C    指定解档目录(放在命令最后)

 

4.压缩

1)zip:

    zip -r xxx.tar.zip xxx.tar        压缩

  unzip  xxx.tar.zip                解压

 

(2)gz:

   gzip xxx.tar                       压缩

 gunzip xxx.tar.gz               解压

 ==============

tar -zcf xxx.tar.gz /xxx          打包压缩

tar -zxf xxx.tar.gz                解压

 

 

(3)bz2

   bz2 xxx.tar                        压缩 

   bunzip2 xxx.tar.bz2           解压

   =============

   tar jcf xxx.tar.bz2 /xxx         打包压缩

 tar jxf xxx.tar.bz2                 解压

(4)xz

   xz xxx.tar                        压缩

  unxz xxx.tar.xz               解压

   =============

  tar jcf xxx.tar.xz /xxx               打包压缩

   tar jxf xxx.tar.xz                    解压

 zip无法一步完成打包和压缩,只能先单独归档,再压缩。其他3个可以一步完成。

 

六。系统日志管理

含义:系统日志是记录系统中硬件,软件和系统问题的信息,同时还可以监视系统中发生的事件,用户可以通过它来检查错误发生的原因,或者寻找受到xx时xx者留下的痕迹,包括系统日志,应用程序日志和安全日志。

 1.rsyslog   此服务是用来采集系统日志的,它不产生日志,只是起到采集日志

 2.系统日志分类(用cat查看)

cat /var/log/messages  服务信息日志

/var/log/secure   系统登陆日志

/var/log/cron     定时任务日志

/var/log/maillog  邮件日志

/var/log/boot.log 系统启动日志

 

3.日志类型

auth             pam产生的日志

authpriv       ssh,ftp等登陆信息的验证信息

cron             时间任务相关

kern             内核

lpr                打印

mail              邮件

mark(syslog)-rsyslog  服务内部的信息,时间标识

news           新闻组相关

user           用户程序产生相关信息

uucp    unix to unix copy,unix主机之间的相关通讯

local 1~7     自定义的日志设备

 

4.日志级别

debug      有调式信息的,日志信息最多

info          一般信息的日志,最常用

notice      最具有重要性的普通条件的信息

warning   警告级别

err           错误级别,阻止某个功能或者模块不能正常工作的信息

crit           严重级别,阻止整个系统或整个软件不能正常工作的信息

alert        需要立刻修改的信息

emerg     内核崩溃等严重信息

none      什么都不记录

 注意:从上到下,级别从低到高,记录的信息越来越少

 

详细可查:man 3 syslog

 

示例:把系统中所有日志采集到/var/log/westos文件中:

编辑 vim /etc/rsyslog.conf,在文件中加入:

*.*             /var/log/westos     :wq 退出保存。(前面的*代表什么类型服务日志,后面的*代表什么级别的日志 )   

重启服务:systemctl restart rsyslog

测试:systemctl restart  sshd    目的为生成日志

           cat /var/log/westos       查看此文件中的日志信息

 

5.日志的传输

 在日志发送方:

编辑:vim /etc/rsyslog.conf 在文件中加入:

*.*   @172.25.254.227    :wq 退出保存。(@表示udp协议发送,@@表示tcp协议发送)

重启服务:systemctl restart rsyslog。

 

在日志接收方:

 先编辑:vim /etc/rsyslog.conf,开启这两条命令:

15行 $ModLoad imudp    日志接受模块

 16行 $UDPS而verRun 514  开启接收端口

 重启服务:systemctl restart rsyslog

 在关闭防火墙 systemctl stop firewalld   关闭防火墙

 

systemctl disable firewalld    设定火墙开机关闭(这步可不做)

 

最后测试:在发送和接收方都清空日志文件

命令:> /var/log/messages 

然后在日志的发送方输入:logger test

先在发送方查看日志是否生成:cat /var/log/messages

然后在接收方查看日志是否生成:cat /var/log/messages

 

注意:假如以上都设定完成以后,还是不能传输,则在接收方输入:> /etc/rc.d/rc.local,然后输入reboot重启命令,在查看原来设置,完成后则可。

 

posted on 2019-04-10 16:59  Minligang  阅读(616)  评论(0编辑  收藏  举报