Linux安全问题

一、查看安全相关指令

a.查看现有的用户以及可登录的用户

  • 查看所有用户:cat /etc/passwd
  • 查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

b.查看用户登录历史信息

  • last [username] 查看登录成功记录信息(不加用户名查看当前用户)

  • lastb [username ] 查看登录失败记录信息 (root用户可使用,不加用户名查所有)

    结合条件筛选更有趣哟。例如:lastb 用户名 | grep 指定IP #可查询指定ip登录失败的信息

c.查看是否有可疑 IP 成功登录机器:less /var/log/secure|grep ‘Accepted’

d.用户最近使用过的指令:history

二、修改SSH端口

特别说明:本人没有开启防火墙,没有开启SELinux.(使用云服务器的安全组控制端口权限)

查看SELinux状态命令:sestatus #disabled 关闭

查看防火墙状态命令:systemctl status firewalld #Active: inactive (dead)灰色表示停止 查看更多

a.修改ssh端口

vim /etc/ssh/sshd_config 找到Port 22 这行后面添加 Port new_port (按i进入编写模式,esc -> : [冒号]–>wq–>回车)

b.重启ssh服务:systemctl restart sshd.service

c.登录云服务器,找到安全组。关闭22端口;新增规则,加上你的新端口

d.开始愉快的使用:ssh -p new_port username@yourIp

三、通过SSH免密登录

a.创建ssh

-b(指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。) 
-C (提供一个新注释) 
-t(指定要创建的密钥类型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2))
-f (指定密钥文件名)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

b.将公钥存放到服务器.ssh下面,命名为authorized_keys (注意权限问题)

  • 1.自动创建(推荐)

    ssh-copy-id -i ~/.ssh/id_rsa.pub user_name@your_ip (并输入密码) 
    
  • 2.手动创建

    在用户目录下面创建.ssh目录(文件夹的访问权限必须是是700权限)
    在.ssh文件夹里面创建authorized_keys文件(文件必须是600权限)
    分别修改.ssh 和 authorized.keys 的访问权限
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    编辑authorized.keys文件,填入生成好的公钥
    

c.测试连接,能进入就代表成功

ssh -p 22 user_name@your_ip #端口为22时:ssh user_name@your_ip 即可

四、ssh配置config快速登录服务器

用于已经可以实现ssh免密登录,配置config只是简化操作;

例如更改了端口之后:配置前:ssh -p 22 user_name@your_ip 配置后:ssh 别名

1.config文件放置目录:用户目录下面的.ssh目录里面

以shell命令为例(windows可用"windwos PowerShell"软件、"Git Bash Here"):~/.ssh
window也可以直接打开:C:\Users\用户名\.ssh

2.语法介绍

#重要提示:config文件里面不能出现备注,请删除“#”以及#后面的内容
Host alias1
    HostName 49.228.211.23 #【必填】服务器IP地址
    Port 22 #【必填】ssh端口,服务器默认为22
    User root #【必填】服务器用户名
    IdentityFile ~/.ssh/id_rsa #【非必填】指定ssh私钥文件地址,默认为~/.ssh/id_rsa
    
Host alias2 #配置多个
    HostName 47.98.211.233
    Port 122
    User username
 .....
 ##可配置多个,此处以两个为例
 

3.食用方法

ssh alias1
4.特别注意:config文件没有后缀

结尾:额外知识

a.操作SSH/SSHD服务(查看/启动/重启/自启)

  • 查看状态:systemctl status sshd.service
  • 启动服务:systemctl start sshd.service
  • 重启服务:systemctl restart sshd.service
  • 开机自启:systemctl enable sshd.service

b.SELinux相关

  • 查看SELinux的ssh端口: semanage port -l | grep ssh
  • ELinux新增ssh端口: semanage port -a -t ssh_port_t -p tcp [new_port]
  • 查看SELinux的所有端口: semanage port -l (可结合grep过滤)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值