更换vps

来源:互联网 发布:无标度网络 路径短 编辑:程序博客网 时间:2024/05/17 08:08

成文时间:2017-03-22 01:31:00
更新时间:2017-03-29
~~最近vultr有2.5美元一个月,还有活动,配置也不错。准备转移到vultr。
还是用搬瓦工。

安装的是centos7,之前用的centos6,有些不同。记录下我的服务器配置

在确认配置好之前,先别关闭ssh,新开一个终端测试

SSH 更换端口

用下面命令进入配置文件。

vi /etc/ssh/sshd_config

找到#port 22,将前面的#去掉,然后修改端口 port 20001(自己设定)
建议先添加新端口,待新端口可以连接后再去掉22端口

然后重启ssh服务。

service sshd restart

开放20001端口

firewall-cmd --zone=public --add-port=20001/tcp --permanent

如果是iptables,第一次配置先

iptables -F //清除所有的已订定的规则,如果清空后连不上,可能是预设规则为DROP,可通过iptable -nL查看

新建一个用户代替root

//添加一个名为tommy的用户

adduser tommy passwd tommy   //修改密码

获得root 权限:

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

##Allow root to run any commands anywhereroot    ALL=(ALL)     ALLtommy   ALL=(ALL)     ALL

修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。

使用密钥登录

使用xshell-工具-新建用户密钥生成向导,一直下一步,保存生成的公钥,私钥。把公钥复制保存到Linux服务器的authorized_keys文件里面。

需要把该信息拷贝到Linux服务器的特定文件中:~/.ssh/authroized_keys
其中,“~”表示对应用户的主目录,以tommy为例。
若.ssh目录不存在,请创建它,并把公钥信息写入文件中:

mkdir ~/.sshchmod 700 ~/.sshvi ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys

请务必留意:文件和目录的权限问题,用户必须是将要进行认证的用户,而权限必须是0644,也就是禁止其他人对该文件写入信息。(否则,某些有心人把自己的公钥写入这里,他也可以无密码进来了)
因为,通常umask是0022或0002的,所以请使用chown和chmod修改为对应的权限咯。

基于密钥认证的配置
由于这里是tommy在操作,所以需要获取权限才能操作

sudo vi /etc/ssh/sshd_config  

修改为

PasswordAuthentication no //禁止使用基于口令认证的方式登陆PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆

重启ssh

sudo service sshd restart

如果失败,可尝试kill -9 [sshd的pid]
然后

sudo service sshd start

尝试登录,只能使用密匙登录。

用密匙登录,提示没有注册该密匙。

多次检查配置后,没有问题。查看/var/log/secure
提示 Authentication refused: bad ownership or modes for directory /home/tommy/.ssh
得知是权限设置错了

SSH doesn’t like it if your home or ~/.ssh directories have group write permissions. Your home directory should be writable only by you, ~/.ssh should be 700, and authorized_keys should be 600
You can also get around this by adding StrictModes off to your ssh_config file, but I’d advise against it - fixing permissions is the way to go.

所以一定要改成:

chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys

重启sshsudo service sshd start ,成功登录。

已经可以用tommy登录了,所以可以不允许root用户登录了:

sudo vi /etc/ssh/sshd_config  

修改为

PermitRootLogin no

今天就到这里了。。


继续配置iptables

只允许每个ip同时5个80端口转发,超过的丢弃

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

拒绝其他所有协议

不太清楚最好别运行。

iptables -A INPUT -j REJECT //!!在运行此规则之前先确保ssh端口已经生效(service iptables restart)

如果已经运行又断开了连接,试着重启一下服务器,只要没永久生效那么还能连上。

0 0
原创粉丝点击