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
  
 

    

  

原文地址:https://www.cnblogs.com/anybus/p/6537416.html