上周日折腾了一次阿里云服务器,被linux的网络问题折腾的够呛。在这里简单做个问题的概要记录,以备忘。题目中说自己是小白,其实也不完全是小白,自己对一些linux的常用命令还是有所了解的,但是对于linux系统缺乏一个整体的把握和掌控能力,下面简单总结下上周日折腾的一些事情。
1,让ssh登录变的更加安全
(1)最不安全的方法:直接ssh [email protected]地址,然后提示你输入密码,登录成功。也就是以root身份以密码验证的方式登录,这种方式恐怕是最不安全的。不安全的原因:密码可以被暴力破解,一旦被破解,入侵者直接拿到root权限,很可怕。那么该如何提高安全性?看第(2)条。
(2)比(1)看起来安全,但仍然有安全风险的方法:禁用root账户的远程ssh登录功能,创建一个没有root权限的账户user,通过这个账户进行ssh登录,ssh登录后如果需要root权限再通过su切换。不安全的原因:密码仍可以被暴力破解,破解后虽然不能立即拿到root权限,但如果入侵者将root账户的密码破解了,那么仍然能够拿到root权限。linux中相关配置文件为:
vi /etc/ssh/sshd_config PermitRootLogin no #禁用root账户远程ssh登录
添加用户命令:
# 添加新用户 user add username # 为新用户设置密码 passwd username
(3)比较好的登录方式:ssh密钥登录。在需要登录的客户机上生成一个密钥对,然后将公钥上传到服务器,客户机上存放私钥,然后通过密钥的方式登录。这样只有在入侵者获取了你的私钥之后才能登录服务器,这种方式比口令验证的方式要安全,而且也方便。linux中相关的配置文件为:
1 vi /etc/ssh/sshd_config 2 PasswordAuthentication no #禁用口令登录 3 PubkeyAuthentication yes #允许公钥认证 4 RSAAuthentication yes #rsa认证 5 AuthorizedKeysFile .ssh/authorized_keys #相关ssh授权文件
2,遇到ping不通,网站无法访问等网络问题时该怎么办
阿里云的帮助文档中给出了常见网络问题的处理方法,内容很多,可以参考这里。这里大概说下:
(1)ping不通比较容易确定确实是网络问题,那么只要按照相关文档来逐个排查就可以了,一般情况下都是因为防火墙(iptables)或安全组导致的。
(2)网站无法访问这个情况就比较复杂了,网站无法访问时,可以问自己以下几个问题,以便理清排查思路:一,我的服务器防火墙和安全组都设置正确了么?这里主要是排查网络问题,确定相应的端口是可以被公网访问的。二,如果网络没问题,那么我的网站运行在什么服务器上,服务器运行是否正常,也就是服务器上的web服务是否在正常运行。比如常用的nginx是web服务器,检查下它是否运行正常。可以用ps等命令来检查。三,web服务器如何检查?还是拿nginx做例子,(1)它监听的哪个端口,监听的端口是否被防火墙禁用了,这个端口是否还被其它进程监听?可以通过lsof -i tcp:80和netstat命令来检查端口的开启和被监听情况。(2)nginx的配置文件是否正确,网站的根目录是否可以被nginx进程正常访问等。