Centos7服务器的初步流程(SSH基本配置)

在开发或者部署网站的时候,需要自己配置Linux服务器,本文以Centos7为例,记录了配置Linux服务器的初步流程

第一步:root用户登录

  • 使用root用户登录远程主机(假定IP地址为192.168.1.125)

    ssh root@192.168.1.125

    这时,会出现警告,提示这是一个新的地址,存在安全风险。接收则输入yes

    sangjiandeMacBook-Pro:~ sangjian$ ssh root@192.168.1.125
    The authenticity of host '192.168.1.125 (192.168.1.125)' can't be established.
    RSA key fingerprint is 88:57:1d:68:61:d8:1d:7c:e4:10:bc:2c:1e:e2:93:e1.
    Are you sure you want to continue connecting (yes/no)?

    登录远程主机之后修改root密码

    passwd

第二步:新建用户

  • 添加一个用户组admin

    groupadd admin

    然后,添加一个新的用户

    useradd -d /home/sangjian -s /bin/bash -m sangjian

    上面命令中,参数d表示指定用户的主目录,参数s指定用户的shell,参数m表示如果该目录不存在,则创建该目录。

  • 设置新用户的密码。

    passwd sangjian
  • 将sangjian添加到用户组admin中

    usermod -a -G admin sangjian
  • 为sangjian用户设定sudo权限

    visudo

    visudo命令会打开文件/etc/sudoers,找到如下一行

    root    ALL=(ALL) ALL

    添加一行

    sangjian    ALL=(ALL) NOPASSWD: ALL

    上面的NOPASSWD表示,切换sudo的时候,不需要输入密码,我喜欢这样比较省事。如果出于安全考虑,也可以强制要求输入密码。

  • 另开一个终端,以sangjian用户登录,检查是否设置成功

    ssh sangjian@192.168.1.125

第三步:SSH设置

  • 查看本机是否有SSH公钥(一般是~/.ssh/id_rsa.pub),如果没有则可以使用ssh-keygen命令生成

    ssh-keygen

    想省事的话可以一直按回车即可

  • 将刚生成的id_rsa.pub文件的内容追加到服务器的authorized_keys文件中
    可以使用scp命令将生成的id_rsa.pub文件上传到服务器中,再将文件的内容追加到authorized_keys文件中

    scp ~/.ssh/id_rsa.pub sangjian@192.168.1.125:/home/sangjian/mac_id_rsa.pub

    上面的命令是将本地的公钥上传到服务器中的/home/sangjian目录下的mac_id_rsa.pub文件中

    再执行追加命令(如果~/.ssh目录不存在,则新建)

    cat mac_id_rsa.pub > ~/.ssh/authorized_keys
  • 修改SSH配置文件/etc/ssh/sshd_config
    在配置文件中找到 #Port 22,修改默认的端口,范围可以从1025到65536

    Port 6983

    修改如下设置并确保去除了#号

    Protocol 2
    
    
    #禁止root用户登录
    
    PermitRootLogin no
    
    
    #禁止使用密码登录
    
    PasswordAuthentication no
    PermitEmptyPasswords no
    PasswordAuthentication yes

    最后,在配置文件的末尾添加一行用来指定可以登录的用户

    AllowUsers sangjian

    保存退出后,修改authorized_keys和.ssh的文件权限

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

    确保.ssh的权限为700,authorized_keys的权限为600,否则登录的时候会出现如下错误

    Connection closed by 192.168.1.125

    查看日志

    sudo tail -n 20 /var/log/secure

    可以看到登录时的日志有如下一句

    localhost sshd[2359]: Authentication refused: bad ownership or modes for file /home/sangjian/.ssh/authorized_keys
  • 重启SSHD

    sudo service sshd restart
  • 检查是否可以免密码登录

    ssh sangjian@192.168.1.125 -p 6983

    发现不可以,提示

    ssh: connect to host 192.168.1.125 port 6983: Connection refused

第四步:登录失败问题解决

出现这一情况主要考虑两个方面,一个是SELInux,另一个是防火墙

SELinux问题解决

  • 查看登录日志sudo tail -n 20 /var/log/secure
    如果发现日志中有

    fatal: Cannot bind any address.
    error: Bind to port 6983 on 0.0.0.0 failed: Permission denied.
    error: Bind to port 6983 on :: failed: Permission denied.

    表示数据端口绑定失败,这是因为Centos7中开启了SELinux

  • 关闭SELinux

    修改SELinux配置文件

    sudo vi /etc/selinux/config

    找到SELINUX=enforcing,修改为

    
    # SELINUX=enforcing
    
     SELINUX=disabled

    重启服务器

    sudo reboot

防火墙问题排查

如果再次连接发现还是不行

  • 查看日志

    sudo tail -n 20 /var/log/secure

    发现没有失败的日志输出

  • 查看防火墙是否开启

    systemctl status firewalld

    如果开启了,则原因就是刚刚设置的ssh端口6983并没有添加到防火墙中

  • 添加端口到防火墙

    sudo firewall-cmd --zone=public --permanent --add-port=6983/tcp
  • 重启防火墙

    sudo systemctl restart firewalld
  • 查看端口是否添加成功

    执行sudo firewall-cmd --list-all,如果出现以下输出,则证明添加成功

    public (default, active)
     interfaces: enp0s3
     sources:
     services: dhcpv6-client ssh
     ports: 6983/tcp
     masquerade: no
     forward-ports:
     icmp-blocks:
     rich rules:

第五步 登录服务器

SSH的配置已经完成了,下面测试以下是否可以登录

输入ssh sangjian@192.168.1.125 -p 6983,提示


Last login: Tue Jun 7 13:01:22 2016
[sangjian@localhost ~]$

表示已经登录成功了,至此基于Centos7的服务器初步配置已经完成了。

本文主要介绍了SSH配置,剩下的可以根据需要配置一些安全相关的设置,比如防火墙的设置,端口的限制等等。

参考:阮一峰Linux服务器的初步配置流程

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值