fedora 14下开启SSH服务及iptables规则即时生效

时间:2022-04-08 20:16:01
       昨天在做实验的时候发现,需要拷贝文件到fedora虚拟机中,但是fedora虚拟机没有安装图形界面,因此我想到开启fedora的SSH服务,然后在主机中用 Secure File Transfer Client 远程连接到fedora中。

具体操作如下:

1.安装openssh-server程序

yum install openssh-server安装SSH服务程序
2.配置SSH
vim /etc/ssh/sshd_config 打开配置文件

查看是否存在如下信息,如下规则没有则自行添加 

#Port 22  监听的端口号,默认是22,自定义更安全。
#Protocol 2  支持的协议,默认就好,不用修改
#PermitRootLogin yes 是否允许root直接登录,最好设置为no
#MaxAuthTries 6 最大登录数,默认是6,建议改小,防止穷举攻击。

3.开启ssh服务,两个命令任选其一

service sshd start 
/etc/rc.d/init.d/sshd restart

       经过上面的操作之后,在主机中用Secure File Transfer Client 登陆失败,但在虚拟机中可以用SSH 192.168.10.133可以登陆自己。Secure File Transfer Client 给出的提示信息是“待连接主机的防火墙是否开启”。想到之前在开发网站的微博认证接口时由于SSL 22号端口没有打开一直无法进行Https认证,后来才发现原来是linux下的防火墙iptables限制了端口连接,所以需要开启SSH对应的端口号,才能保证SSH连接的正常。

       iptables有五种规则表

prerouting:路由之前 
input:本地进来 
output:本地出去 
forward:转发 
postrouting:路由之后 

     具体的规则编写可以参考iptables官网文档,常用到的是限制IP、限制端口功能。这里我们只需要执行如下操作,打开fedora的SSH端口即可,

     有两种方法来实现

     1.直接运行如下命令,重启虚拟机则失效,需要重新运行命令

iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables-save

     2.修改/etc/sysconfig/iptables 文件,重启也能生效

#vi /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT#添加在文件的末尾,COMMIT语句之上
service iptables restart

       切记,网上好多人都说执行如下命令可以打开22号端口,经验证,该命令无法打开22号端口,千万不要被误导。在/etc/sysconfig/iptables中添加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 
service iptables restart

       #或者直接运行

iptables  -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables-save

       注:如果你嫌配置iptables麻烦,在确保虚拟机安全的情况下可以直接通过如下命令关闭iptables,

service iptables stop 

       当然这种方法可能导致虚拟机安全受到威胁,易受到网络攻击。