Centos默认安装了OpenSSH,可以使用下列命令查看安装的版本:
#查看已安装的软件件包中含有ssh字样的包信息 yum list installed | grep ssh
如果显示空白,则使用下列命令安装ssh:
#安装ssh yum install openssh*
打开配置文件:
vim /etc/ssh/sshd_config
需要修改的几个重要参数:
#禁止使用版本1的协议,仅使用版本2 Protocol 2 #禁止root登录sshd,强烈建议改为no PermitRootLogin no #定义sshd监听ipv4还是ipv6(默认都监听) ListenAddress 0.0.0.0 #监听所有ipv4地址 ListenAddress :: #监听所有ipv6地址
注:vim中 i键进入修改模式,保存退出:先按ESC 再按 :wq(即英文冒号+w+q)
启动SSHD服务
#使用service脚本启动sshd服务 service sshd start #使用/etc/init.d/sshd启动sshd服务 /etc/init.d/sshd start
查看sshd启动运行情况
#查看sshd服务状态 service sshd status #使用netstat查看sshd服务的端口情况 netstat -tunlp | grep ssh #使用ps查看sshd的进程状态 ps -ef | grep ssh
设置SSHD服务开机启动
#使用chkconfig设置SSHD服务开机启动 chkconfig sshd on #查看SSHD服务时候开机启动,将显示每个RunLevel下是否启动 chkconfig --list | grep ssh
设置hosts.allow,hosts.deny文件,控制允许连接sshd的ip
#编辑hosts.allow文件,写入允许访问ssh的ip地址 vim /etc/hosts.allow #内容比如: sshd:127.0.0.1 sshd:某个外网ip地址 #编辑host.deny文件,禁止所有IP访问ssh vim /etc/host.deny #内容为: sshd:ALL #最终实现的效果就是:仅允许本机和外网的一个ip可以使用ssh,其余IP全部禁止。
最后需要设置防火墙,开放sshd服务的默认端口22
#直接使用iptables命令 #-s参数可以限制源IP,如果不需要去掉即可 #-i参数定义通过哪些网卡可以对外开放SSH #这里的em为网卡名称,后面的+(加号)表示任意字符,即em1,em2,em3都符合 #--sport参数定义源端口范围 iptables -A INPUT -s 源IP -i em+ -p tcp -m tcp --sport 1024:65534 --dport 22 -j ACCEPT #重启iptables服务 service iptables restart