CentOS设置ssh连接的方法

本文介绍如何在CentOS系统中配置静态IP地址,并详细解释了相关配置文件的修改步骤。此外,还提供了更改SSH端口的方法及防火墙配置技巧,帮助提高服务器安全性。

在做项目时由于公司局域网采用自动获取IP的方式,导到每次服务器重启主机IP都会变化。为了解决这个问题,我参考了http://blog.sina.com.cn/s/blog_537977e50100qhb5.html的文章然后根据自己的情况设置静态IP解决了这个问题,处理方式如下:

1.修改网卡配置 编辑:vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
 BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
 BROADCAST=192.168.0.255 #对应的子网广播地址
 HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址

 IPADDR=12.168.0.33 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
 NETMASK=255.255.255.0 #网卡对应的网络掩码
 NETWORK=192.168.0.0 #网卡对应的网络地址

2.修改网关配置

 编辑:vi /etc/sysconfig/network 修改后如下: 

  

 NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)
 HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)
 GATEWAY=192.168.0.1(设置本机连接的网关的IP地址。)

 我在修改这里打开编辑时前三项已经默认有了所以只增加了GATEWAY

3.修改DNS 配置

  编辑:vi /etc/resolv.conf 修改后如下: 

 

  nameserver 即是DNS服务器IP地址,第一个是首选,第二个是备用。

4.重启网络服务

  执行命令:

  service network restart  或   /etc/init.d/network restart

5.关闭防火墙

        /etc/init.d/iptables stop

 

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

1.配置IP

#setup

  选择 NetWork configuration

  选择 Device configuration

  选择 eth0

  Use DHCP [*] 改 为 [ ]   用空格键将*去除

  Static IP 输入 192.168.1.112

  Netmask 输入 255.255.255.0

  Default  gateway IP 输入 192.168.1.1

  Primary DNS Server 输入 192.168.1.1

 

2.改SSH端口

vim /etc/ssh/sshd_config

#Port 22

去#注释 改 22 为 2200(2000以上)

 

3.重启SSH

/etc/init.d/sshd restart

 

4.重启网络

service network restart

/etc/init.d/network restart

 

5.查看端口

netstat -lnp|more

 

6.关防火墙

service iptables stop

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

环境:

  系统硬件:vmware vsphere (CPU:2*4核,内存2G)

  系统版本:Centos-6.5-x86_64

  路由器网关:192.168.1.1

 

步骤:  

  1.查看网络MAC地址
  [root@centos ~]# cat /etc/udev/rules.d/70-persistent-net.rules

  显示如下信息
  # PCI device 0x15ad:0x07b0 (vmxnet3)
   SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:94:04:3c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

  # PCI device 0x15ad:0x07b0 (vmxnet3)
  SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:94:53:24", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

  eth0:对应第一张网卡,eth1:对就第二张网卡。当前使用eth0连接路由器,eth1保留(服务器一般用来,连接其它主机)


  2.修改主机名称
  [root@centos ~]# vim /etc/sysconfig/network
  

  打开文件,修改以下内容并保存

  NETWORKING=yes      #使用网络
  HOSTNAME=centos      #设置主机名称

  3.修改网卡
  [root@centos ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  

  打开文件,修改以下内容并保存

  DEVICE=eth0          #对应第一张网卡
  TYPE=Ethernet
  ONBOOT=yes          #是否启动时运行
  NM_CONTROLLED=yes
  BOOTPROTO=static       #使用静态IP,而不是由DHCP分配IP
  DEFROUTE=yes
  IPV4_FAILURE_FATAL=yes
  IPV6INIT=no
  NAME="System eth0"      #名称
  HWADDR=00:50:56:94:04:3C  #必须对应etho是的MAC地址(/etc/udev/rules.d/70-persistent-net.rules)
  PEERDNS=yes
  PEERROUTES=yes
  IPADDR=192.168.1.40     #指定本机IP地址
  NETMASK=255.255.255.0    #指定子网掩码
  GATEWAY=192.168.1.1     #指定网关

  4.修改DNS
  [root@centos ~]# vim /etc/resolv.conf

  打开文件,修改以下内容并保存
  nameserver 8.8.8.8      #GOOGLE的DNS服务器
  nameserver 61.144.56.100      #指定当前城市最近的DNS服务器(各城市不一样,上网搜索)
  nameserver 192.168.1.1      #指定经路由器上指定的DNS服务器


  5.重新启动网络配置
  [root@centos ~]#service network restart

  

  6.重启

  [root@centos ~]#shutdown -r now

 

  7.查看当前IP设置

  [root@centos ~]# ifconfig

 

  8.测试是否连接外网

  [root@centos ~]# ping www.163.com 

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

vi /etc/ssh/sshd_config 增加port 2800
systemctl restart sshd


firewall-cmd --zone=public --add-port=2800/tcp --permanent  打开firewall商品


firewall-cmd --query-port=2800/tcp 查看2800端口打开情况


打开SELINUX端口
要用到semanage工具,如果没有安装可以
yum provides /usr/sbin/semanage
yum whatprovides /usr/sbin/semanage
yum -y install policycoreutils-python
进行安装


安装完成后打开2800端口
semanage port -a -t ssh_port_t -p tcp 2800
查看2800端口是否打开
semanage port -l | grep ssh


如果一切正常,SSH客户端用2800端口进行登录,如果能正常登录,
vi /etc/ssh/sshd_config 删掉22端口
systemctl restart sshd
如果不能正常登录,再重新排查操作步骤

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

最近在CentOS Linux下安装配置 ORACLE 数据库的时候,总显示因为网络端口而导致的EM安装失败,遂打算先关闭一下防火墙。

偶然看到防火墙的配置操作说明,感觉不错。执行”setup”命令启动文字模式配置实用程序,在”选择一种工具”中选择”防火墙配置”,然后选择”运行工具”按钮,出现防火墙配置界面,将”安全级别”设为”禁用”,然后选择”确定”即可.

或者用命令:
#/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT
#/etc/rc.d/init.d/iptables save

 

这样重启计算机后,防火墙默认已经开放了80和22端口

这里应该也可以不重启计算机:
#/etc/init.d/iptables restart

防火墙的关闭,关闭其服务即可:

查看防火墙信息:
#/etc/init.d/iptables status

关闭防火墙服务:
#/etc/init.d/iptables stop

永久关闭?不知道怎么个永久法:
#chkconfig –level 35 iptables off

 

看了好几个页面内容都有错,下面是正确方法:
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

然后保存:
#/etc/rc.d/init.d/iptables save

再查看是否已经有了:

[root@vcentos ~]# /etc/init.d/iptables status

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination   

1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:80

2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

3 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0   

 

Chain FORWARD (policy ACCEPT)

num target prot opt source destination   

1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0


服务器遭受到大量的大量SYN_RECV,80端号占死,网站打不开

没有硬防



有什么办法可以解决吗

1
sysctl -w net.ipv4.tcp_syncookies=1 #启用使用syncookies
sysctl -w net.ipv4.tcp_synack_retries=1 #降低syn重试次数
sysctl -w net.ipv4.tcp_syn_retries=1 #降低syn重试次数
sysctl -w net.ipv4.tcp_max_syn_backlog=6000 #最大半连接数
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.all.accept_redirects=0 #不接受重定向的icmp數據包
sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_keepalive_time=60
sysctl -w net.ipv4.tcp_window_scaling=1
sysctl -w net.ipv4.icmp_echo_ignore_all=1 #禁止ICMP
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 #ICMP禁止广播

2.限制单位时间内连接数

iptables -N syn-flood
iptables -A FORWARD -p tcp --syn -j syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A syn-flood -p tcp --syn -m limit --limit 3/s --limit-burst 1 -j ACCEP
iptables -A syn-flood -j DROP
iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp --syn -m state --state NEW -j DROP

3 如果还是不行,
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEP

如攻击过来的流量大于你的服务器的流量,那就没有什么办法了,如果流量不大,以上方法,可以暂时保证你的80可以访问


 

如果你的内核已经支持iptables   connlimit可以使用, iptables 设定部份,也可以使用

iptables -I FORWARD -p tcp --syn -m connlimit --connlimit-above 5 -j DROP

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j REJECT


 

对付SYN FLOOD的话,真正起作用的是:
sysctl -w net.ipv4.tcp_syncookies=1        #启用使用syncookies
sysctl -w net.ipv4.tcp_synack_retries=1        #降低syn重试次数
其他IPTABLES的限制速度功能不能用来对付SYN FLOOD的(不能阻止拒绝服务,但是确实可以防止服务器CRASH)。

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

以上内容参考文献

总结了上述仁兄的经验,得出结论——网络基础知识非常重要;

经过深入研究,本文标题应该改成,服务器重新安装无GUI的Centos 7操作系统后,应当做哪些工作,使得同局域网内的另外一台PC机可以通过ssh命令与它连接。

 

  • 1.配置正确的ip地址
  • 2.配置正确的网关地址(路由器地址)
  • 3.配置正确的子网掩码
  • 4.开启22号端口iptables -I INPUT -p tcp –dport 22 -j ACCEPT
  • 5.切记不要修改ifconfig lo这个虚拟网络接口文件里面的内容

 

以下是运行结果:

Connecting to 192.168.2.208:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Wed Sep  7 17:55:42 2016
[root@localhost ~]# 

转载于:https://my.oschina.net/donngchao/blog/743710

### CentOS 7 SSH 连接配置及常见问题解决 #### 配置网络 为了确保能够成功通过 SSH 登录到 CentOS 7 虚拟机,首先需要确认网络环境已正确设置。 1. **检查网络状态** 使用 `ifconfig` 或者 `ip addr` 命令来查看当前系统的网卡配置情况。如果未安装 `net-tools` 工具,则可以通过以下命令进行安装: ```bash yum install net-tools -y ``` 2. **验证主机与虚拟机之间的连通性** 可以尝试从宿主机 ping 测试虚拟机 IP 地址,或者反过来测试是否可以通信。注意,在某些情况下可能会遇到单向不通的情况[^1]。 #### 安装并启用 SSH 服务 SSH 是远程管理 Linux 系统的重要手段之一,因此需要确保该服务已被正确定义和运行。 1. **检测是否存在 SSH 服务** 执行如下指令判断系统上是否有预装好的 OpenSSH-server 组件: ```bash rpm -qa | grep sshd ``` 2. **必要时重新部署 SSH 功能模块** 如果发现缺少对应包名的话,可通过 YUM 来获取最新版本的服务程序及其依赖项: ```bash yum install openssh-server -y ``` 3. **调整默认参数设定** 编辑 `/etc/ssh/sshd_config` 文件中的选项值(推荐借助图形界面编辑器完成),比如更改监听地址范围、允许 root 用户直接访问权限等重要安全属性。完成后记得保存变动结果再重启守护进程生效新规则。 ```bash systemctl restart sshd.service ``` 4. **处理防火墙策略影响因素** 对于开启了 SELinux 的场景,默认会阻止外部未经许可的数据流入内部服务器实例里头去;所以要么按照官方文档指引精确指定例外条件让特定端口号得以穿越屏障到达目标位置,亦或是干脆临时禁用整个防护机制以便调试阶段顺利推进下去直到最终稳定下来为止。 开放端口的方式为: ```bash firewall-cmd --zone=public --add-port=22/tcp --permanent firewall-cmd --reload ``` 关闭防火墙的方法则是: ```bash systemctl stop firewalld systemctl disable firewalld ``` #### 解决常见的连接失败现象分析 当上述准备工作全部落实到位之后仍然无法正常使用客户端软件发起请求建立链接关系的时候,可以从以下几个方面入手排查原因: - 检查 selinux 设置是否过于严格阻碍了正常的交互流程; - 查看日志记录寻找异常提示信息帮助定位具体故障点位; - 确认双方设备间确实存在有效的物理链路支撑起数据交换需求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值