linux 控制sshd的远程访问

测试环境:linux centos6.5

1、hosts.allow文件配置:

修改/etc/hosts.allow文件
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
#
sshd:210.13.218.*:allow
sshd:222.77.15.*:allow
以上写法表示允许210和222两个ip段连接sshd服务(这必然需要和hosts.deny这个文件配合使用),当然“:allow” 完全可以省略的。当然如果管理员集中在一个IP那么这样写是比较省事的
all:218.24.129.110//他表示接受110这个ip的所有请求!

2、hosts.deny文件配置
/etc/hosts.deny文件,此文件是拒绝服务列表,文件内容如下:
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
sshd:all:deny
注意看:sshd:all:deny表示拒绝了所有sshd远程连接。:deny可以省略。
所以:当hosts.allow和 host.deny相冲突时,以hosts.allow设置为准。

修改完成后立刻生效。

3、扩展:
1.禁止所有ip访问linux 的ssh功能
可以在/etc/hosts.deny添加一行 sshd:all:deny

2.禁止某一个ip(192.168.11.112)访问ssh功能
可以在/etc/hosts.deny添加一行sshd:192.168.11.112

3.如果在/etc/hosts.deny和/etc/hosts.allow同时 有sshd:192.168.11.112 规则,则192.168.11.112可以访问主机的ssh服务

总结:通过这种方法可以控制部分非授权访问,但不是一劳永逸的方法!我们在看服务日志的时候或许会看到很多扫描记录,不是还是直接针对root用户的,这时控制你的访问列表就非常有作用了!

时间: 2024-11-04 13:01:14

linux 控制sshd的远程访问的相关文章

Linux网络服务10——远程访问及控制

Linux网络服务10--远程访问及控制 一.SSH概述 1.SSH简介 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录.远程复制等功能.SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,语TELNET(远程登录)等应用相比,SSH协议提供了更好的安全性. 2.默认监听端口:TCP 22 二.OpenSSH的配置 1.OpenSSH安装包 默认安装Linux系统时自动安装,若未安装,安装光盘中的如下rpm包: openssh-5

Linux下MySQL不能远程访问

最近在Linux上装了个MySQL数据库,可是远程连接MySQL时总是报出erro 2003: Can't connect to MySQL server on '211.87.***.***' (111),昨天查了好几个小时才找到解决方案,如下: 1.sudo gedit /etc/mysql.my.cnf 找到bind-address      =127.0.0.1 修改为bind-address   =0.0.0.0 2.sudo /etc/init.d/ mysql restart 在这

Linux怎么设置PostgreSQL远程访问

原文链接: Linux怎么设置PostgreSQL远程访问 安装PostgreSQL数据库之后,默认是只接受本地访问连接.如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置. 配置远 程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf. pg_hba.conf:配置对数据库的访问权限, postgresql.conf:配置PostgreSQL数据库服务器的相应的参数. 步骤: 1.修改pg_hb

Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config)

Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config) # $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $ # If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTN

TCP Wraapers控制与ssh远程访问

       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用户进行登录配置如下:(系统中必

Ubuntu Linux中开启MySQL远程访问功能

为了给服务器一个真实的运行环境,今天在内网中部署了一台Ubuntu Linux服务器,其中最头疼的就是MySQL的安装,apt下载更新的速度太慢了,于是就自行编译了一下MySQL的源码,具体的编译方法可以参考网上的一些资料吧,这里只对如何开始MySQL的远程访问功能做个简单的讲述: (1)确认一下3306是否对外开放,MySQL默认状态下是不开放对外访问功能的.查看的办法如下: Java代码 ~# netstat -an | grep 3306 tcp        0      0 127.0

Linux系统 SSHD服务安全优化方案

  # 1. 修改默认端口 #Port 22 # 2. 修改监听协议,只监听某个或某些网络协议 #AddressFamily any AddressFamily inet # 3. 修改ssh只监听内网IP地址(IPV4和IPV6) #ListenAddress 0.0.0.0 #监听IPV4所有网络地址 ListenAddress 192.168.171.0 # 4. 设置密钥生命周期,定时更新密钥,并将密钥设置尽可能长 # --->(需设置Protocol 1) #KeyRegenerati

Android(Linux)控制GPIO的方法及实时性分析

Linux下控制GPIO的方法有N种,详细请参考<RPi GPIO Code Samples>,文中用十多种语言演示了如何控制GPIO,非常全面详尽.因此,这里不再多做赘述,仅把调试过程中整理的脚本贴上并做简单的分析.特别说明,Linux必须有root权限!!!否则会出现/system/bin/sh: can't create /sys/class/gpio/export: Permission denied等错误. @echo off echo adb root adb root >%

Linux的MySQL不能远程访问

1.首先,你要确认用户是否只允许localhost访问: 在linux下登录mysql mysql -uroot -p密码;     use mysql;     select `host`,`user` from `user` 你就可以看到: 如果你的用户对应的host不是%,则不能远程访问 2.默认linux的防火墙是没有开发3306这个端口的 vi /etc/sysconfig/iptables //打开这个文件去看看,是否有3306 没有的话就加上 在“-A INPUT –m state