美文网首页小白学编程
对一台新服务器的简单的配置

对一台新服务器的简单的配置

作者: 正义的程序员 | 来源:发表于2018-02-04 22:42 被阅读223次
    Linode

    虽然不是专业的系统管理员,作为程序员还是会经常折腾一些VPS,势必要学会怎么配置一台服务器,而且,对于公司面试,掌握基本的系统管理知识还是有利的。况且,如今的网络安全环境下,掌握一些服务器安全方面的配置是非常有必要的。

    1. 远程登录用户

    在使用SSH远程登录时,由于root用户有着无限的权利,它能执行任何命令,所以尽量不要使用root用户登录。

    Ubuntu
    adduser jack  //创建非根用户
    usermod -a -G sudo jack  // 让jack用户拥有sudo权限(即通过密码认证后可以执行特殊的权限的命令)
    
    CentOS
    adduser jack
    passwd jack  // 为jack用户设置密码
    usermod -a -G wheel jack  // 把jack加入wheel用户组
    

    2. SSH密钥对认证

    上面创建完jack用户后,就可以执行下面的命令登录:

    ssh jack@123.123.78.90

    此时,会要求你输入jack的密码,但密码认证也有漏洞,而且会受到暴力破解,不怀好意的人会不断尝试猜测你的密码,而且,每次登录时都要求你输入密码,是不是很麻烦呢?这时我们就需要创建SSH密码对认证(所谓密钥对,就是一对“密钥”,其中一个是私钥,保存在自己的电脑中,另一个是公钥,保存在服务器中,公钥加密的消息只能使用对应的私钥解密)。

    ssh-keygen  // 创建密钥对
    

    然后按照屏幕提示输入所需要的信息,这个命令会在电脑创建两个文件:~/.ssh/id_rsa.pub(公钥)~/.ssh/id.rsa(私钥),私钥应该保存在本地电脑中,公钥上传到服务器。

    // 把公钥上传到服务器中jack用户的家目录,后面一定要有":"
    sup ~/.ssh/id_rsa.pub jack@123.123.78.90:  
    

    登录服务器,创建.ssh目录:

    mkdir ~/.ssh
    

    创建~/.ssh/authorized_keys文件,这个文件的内容是一系列允许登录这台服务器的公钥:

    touch ~/.ssh/authorized_keys
    

    把上传的公钥添加到~/.ssh/authorized_keys文件中:

    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
    

    最后修改下面几个目录和文件的访问权限,让jack用户访问/.ssh目录和/.ssh/ahthorized_keys文件:

    chown -R jack:jack ~/.ssh
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    

    禁用密码和根用户登录

    为了让服务器再安全一些,我们要禁止用户通过密码登录,还要禁止根用户登录。

    vim /etc/ssh/sshd_config
    

    上打开的配置文件中,这样修改:

    // /etc/ssh/sshd_config
    PasswordAuthentication no // 或者注释掉
    PermitRootLogin     no      // 或者注释掉
    

    改动之后,重启ssh服务:

    # ubuntu
    sudo service ssh restart
    
    # CentOS
    sudo systemctl restart sshd.service
    

    运行完上面的命令,我们的服务器就安全很多了。


    欢迎关注我的公众号:

    相关文章

      网友评论

        本文标题:对一台新服务器的简单的配置

        本文链接:https://www.haomeiwen.com/subject/qchvzxtx.html