zoukankan      html  css  js  c++  java
  • linux系统的安全小知识

    最近安装linux虚拟机,出了几个小问题:1. 只有root用户  2.ftp连接不上  3.ssh连接虚拟机如何免密

    1.创建用户

    useradd –d /usr/sam -m sam    创建用户sam,并指定其默认的用户目录

    passwd sam  给sam用户指定密码

    over!

    追加:

    su   注:用户切换工具

    sudo   注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现

     给sam添加sudo权限   

      vi /etc/sudoers  找到  root ALL=(ALL) ALL   下面追加一行  sam ALL=(ALL) ALL,退出强制保存   wq!

    2.ftp连接不上

      先查看有木有ftp组件,service vsftpd status 

      如果没有的话,安装:yum install vsftpd

      安装后再次查看状态,看到   Active: active (running)  表示服务已启动

      如果还是连接不上,说明防火墙把21端口给禁掉了;关掉防火墙或者是设置端口意外。

      我这里是关闭防火墙:systemctl disable firewalld.service    这样重启时防火墙也是关闭状态

      搞定!

    追加:

      systemctl   系统服务管理器指令,来自: http://man.linuxde.net/systemctl
      是chkconfig、service的合集:
        格式:   systemctl    指令   服务名.service

        指令:start/stop   status  enable/disable   list-units

    3. 免密登录

    准备工作:

    安装上传下载工具:yum install -y lrzsz
    基本原理:两台电脑AB、A想免密访问B,A生成公钥和私钥,将公钥发给B,B将A的公钥导入到自己的认证文件中。

    权限:.ssh目录的权限必须是700 ; .ssh/authorized_keys文件权限必须是600 (不懂往后看) 如:sudo chmod 700 /root/.ssh/
    可以先实现虚拟机中 root  和  sam  两个用户的互联:

    首先root用户ssh 测试连接sam: ssh sam@localhost 输入密码,连接成功!

    1.root下:
      root用户生成公私钥:ssh-keygen -t rsa -P ''
      回车确定后,查看.ssh 目录内容,ls /root/.ssh/
      
    id_rsa id_rsa.pub known_hosts
      等下id_rsa.pub 复制到 sam目录

      .ssh及目录下文件是以上命令生成的,id_rsa 私钥 id_rsa.pub 公钥 known_hosts 访问过root用户的计算机的信息

    2.同样可以在sam用户下生成公私钥
      我们把root下的 id_rsa.pub 追加到sam .ssh 目录下的 authorized_keys
      传送文件: scp -p ~/.ssh/id_rsa.pub sam@localhost:~/.ssh/root_localhost.pub
        追加: cat root_localhost.pub >> authorized_keys
      先登录到sam用户,然后对 authorized_keys 赋权限 600 chmod 600 ~/.ssh/authorized_keys

    测试一下,,root用户下访问sam用户,就可以免密啦!

    同样的,我们还可以自登陆免密,即 root/sam用户自己ssh 自己,免密 如,root下, ssh root@localhost
    方法一样,只需将id_rsa.pub 追加到authorized_keys中
    一定要:
    chmod 700 /root/.ssh/    chmod 600 /root/.ssh/authorized_keys


    追加:

    常用修改权限的命令:

    sudo chmod 600 ××× (只有所有者有读和写的权限) 
    sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限) 
    sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)

    sudo chmod 666 ××× (每个人都有读和写的权限)

    sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

        
    3.windows 免密登录linux虚拟机
    有了以上的铺垫,windows无非要生成秘钥,如何生成秘钥,下载github客户端,然后配置HOME用户变量和Path系统变量
    path变量中添加:C:UsersAdministratorAppDataLocalGitHubPortableGit_f02737a78695063deace08e96d5042710d3e32dbusrin 可以看gitshell路径,找到ssh_keygen命令的目录,配置进去
    HOME用户变量: C:UsersAdministrator
    然后按上面方法就ok啦!
    xshell 终端工具上传文件命令: rz
      
     

        

      

  • 相关阅读:
    Struts之上传
    Struts之准备工作
    前端--关于背景、浮动和定位
    javascript学习目录
    audio和video元素
    js实现动态操作table
    jquery全选、反选、全不选
    js实现页面跳转
    10 个非常有用的 AngularJS 框架
    JavaScript 语言基础知识点总结(思维导图)
  • 原文地址:https://www.cnblogs.com/anybus/p/6537416.html
Copyright © 2011-2022 走看看