zoukankan      html  css  js  c++  java
  • debian 安裝SSH 增加新用戶 并使用sudo

    1 新建新用戶user
    2 
    3 adduser user
    4 
    5 passwd 123654
    6 
    7 exit
    刚安装好的Debian默认还没有sudo功能。
    
    1、安装sudo
    
    # apt-get install sudo
    
    2、修改 /etc/sudoers 文件属性为可写
    
    # chmod +w /etc/sudoers
    
    3、编辑 /etc/sudoers ,添加如下行
    
    # vim /etc/sudoers
    
    root ALL=(ALL) ALL
    
    user ALL=(ALL) ALL 用户user执行sudo时需要密码。
    
    #user ALL=NOPASSWD:ALL 用户user执行sudo时不需要密码。
    
    #user ALL=NOPASSWD:/etc/network/interfaces 用户user执行只有sudo执行/etc/network/interfaces的权限,执行时不需要密码。
    
    4、修改/etc/sudoers 文件属性为只读
    
    # chmod -w /etc/sudoers
    安裝SSH服務
    
    1、apt-get update
    2、apt-get install ssh 3、 apt-get install openssh-server // 安装完成之后,修改下配置文件: /etc/ssh/sshd_config // 基本上不用做什么操作,如果想用 root 登录,需要把 PermitRootLogin 的值改为 yes (不建議使用root登錄) // 然后重启服务 4、service sshd restart 也可以在前面加sudo進行操作
      1 SSH的简单配置
      2 Port 22  #设置ssh监听的端口号,默认22端口
      3 
      4 ListenAddress ::
      5 
      6 ListenAddress 0.0.0.0  #指定监听的地址,默认监听所有;
      7 
      8 Protocol 2,1   #指定支持的SSH协议的版本号。'1'和'2'表示仅仅支持SSH-1和SSH-2协议。
      9 
     10 #"2,1"表示同时支持SSH-1和SSH-2协议。#
     11 
     12 HostKey /etc/ssh/ssh_host_rsa_key
     13 
     14 HostKey /etc/ssh/ssh_host_dsa_key
     15 
     16 HostKey /etc/ssh/ssh_host_ecdsa_key
     17 
     18 HostKey /etc/ssh/ssh_host_ed25519_key    #HostKey是主机私钥文件的存放位置; 
     19 
     20 #SSH-1默认是 /etc/ssh/ssh_host_key 。SSH-2默认是 /etc/ssh/ssh_host_rsa_key和
     21 
     22 #/etc/ssh/ssh_host_dsa_key 。一台主机可以拥有多个不同的私钥。"rsa1"仅用于SSH-1,
     23 
     24 #"dsa"和"rsa"仅用于SSH-2。
     25 
     26 UsePrivilegeSeparation yes     #是否通过创建非特权子进程处理接入请求的方法来进行权
     27 
     28 #限分 离。默认值是"yes"。 认证成功后,将以该认证用户的身份创另一个子进程。这样做的目的是
     29 
     30 #为了防止通过有缺陷的子进程提升权限,从而使系统更加安全。
     31 
     32 KeyRegenerationInterval 3600   #在SSH-1协议下,短命的服务器密钥将以此指令设置的时
     33 
     34 #间为周期(秒),不断重新生成;这个机制可以尽量减小密钥丢失或者黑客攻击造成的损失。设为 0 
     35 
     36 #表示永不重新生成为 3600(秒)。
     37 
     38 ServerKeyBits 1024    #指定服务器密钥的位数
     39 
     40 SyslogFacility AUTH   #指定 将日志消息通过哪个日志子系统(facility)发送。有效值是:
     41 
     42 #DAEMON, USER, AUTH(默认), LOCAL0, LOCAL1, LOCAL2, LOCAL3,LOCAL4, LOCAL5, 
     43 
     44 #LOCAL6, LOCAL7
     45 
     46 LogLevel INFO     #指定日志等级(详细程度)。可用值如下:QUIET, FATAL, ERROR, INFO
     47 
     48 #(默认), VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3,DEBUG 与 DEBUG1 等价;DEBUG2
     49 
     50 # 和 DEBUG3 则分别指定了更详细、更罗嗦的日志输出。比 DEBUG 更详细的日志可能会泄漏用户
     51 
     52 # 的敏感信息,因此反对使用。
     53 
     54 LoginGraceTime 120  #限制用户必须在指定的时限(单位秒)内认证成功,0 表示无限制。默认
     55 
     56 #值是 120 秒;如果用户不能成功登录,在用户切断连接之前服务器需要等待120秒。
     57 
     58 PermitRootLogin yes  #是否允许 root 登录。可用值如下:"yes"(默认) 表示允许。
     59 
     60 #"no"表示禁止。"without-password"表示禁止使用密码认证登录。"forced-commands-only"
     61 
     62 #表示只有在指定了 command 选项的情况下才允许使用公钥认证登录,同时其它认证方法全部被禁止。
     63 
     64 #这个值常用于做远程备份之类的事情。
     65 
     66 StrictModes yes       #指定是否要求 sshd(8) 在接受连接请求前对用户主目录和相关的配
     67 
     68 #置文件 进行宿主和权限检查。强烈建议使用默认值"yes"来预防可能出现的低级错误。
     69 
     70 RSAAuthentication yes  #是否允许使用纯 RSA 公钥认证。仅用于SSH-1。默认值是"yes"。
     71 
     72 PubkeyAuthentication yes  #是否允许公钥认证。仅可以用于SSH-2。默认值为"yes"。
     73 
     74 IgnoreRhosts yes    #是否取消使用 ~/.ssh/.rhosts 来做为认证。推荐设为yes。
     75 
     76 RhostsRSAAuthentication no  #这个选项是专门给 version 1 用的,使用 rhosts 档案在                  
     77 
     78 #/etc/hosts.equiv配合 RSA 演算方式来进行认证!推荐no。
     79 
     80 HostbasedAuthentication no    #这个与上面的项目类似,不过是给 version 2 使用的
     81 
     82 IgnoreUserKnownHosts no          #是否在 RhostsRSAAuthentication 或 
     83 
     84 #HostbasedAuthentication 过程中忽略用户的 ~/.ssh/known_hosts 文件。默认值是"no"。
     85 
     86 #为了提高安全性,可以设为"yes"。
     87 
     88 PermitEmptyPasswords no         #是否允许密码为空的用户远程登录。默认为"no"。
     89 
     90 ChallengeResponseAuthentication no   #是否允许质疑-应答(challenge-response)认         
     91 
     92 #证。默认值是"yes",所有 login.conf中允许的认证方式都被支持。
     93 
     94 PasswordAuthentication yes      # 是否允许使用基于密码的认证。默认为"yes"。
     95 
     96 KerberosAuthentication no    #是否要求用户为 PasswordAuthentication 提供的密码
     97 
     98 #必须通 过 Kerberos KDC 认证,也就是是否使用Kerberos认证。使用Kerberos认证,服务器
     99 
    100 #需要一个可以校验 KDC identity 的 Kerberos servtab 。默认值是"no"。
    101 
    102 KerberosGetAFSToken no       #如果使用了 AFS 并且该用户有一个 Kerberos 5 TGT,
    103 
    104 #那么开   启该指令后,将会在访问用户的家目录前尝试获取一个 AFS  token 。默认为"no"。
    105 
    106 KerberosOrLocalPasswd yes   #如果 Kerberos 密码认证失败,那么该密码还将要通过其它
    107 
    108 #的 认证机制(比如 /etc/passwd)。默认值为"yes"。
    109 
    110 KerberosTicketCleanup yes    #是否在用户退出登录后自动销毁用户的 ticket 。默认
    111 
    112 #"yes"。
    113 
    114 GSSAPIAuthentication no      #是否允许使用基于 GSSAPI 的用户认证。默认值为"no"。
    115 
    116 #仅用 于SSH-2。
    117 
    118 GSSAPICleanupCredentials yes   #是否在用户退出登录后自动销毁用户凭证缓存。默认值      
    119 
    120 #是"yes"。仅用于SSH-2。
    121 
    122 X11Forwarding no    #是否允许进行 X11 转发。默认值是"no",设为"yes"表示允许。如果
    123 
    124 #允许X11转发并且sshd代理的显示区被配置为在含有通配符的地址(X11UseLocalhost)上监听。
    125 
    126 #那么将可能有额外的信息被泄漏。由于使用X11转发的可能带来的风险,此指令默认值为"no"。需
    127 
    128 #要注意的是,禁止X11转发并不能禁止用户转发X11通信,因为用户可以安装他们自己的转发器。如
    129 
    130 #果启用了 UseLogin ,那么X11转发将被自动禁止。
    131 
    132 X11DisplayOffset 10    #指定X11 转发的第一个可用的显示区(display)数字。默认值                   
    133 
    134 #是 10 。这个可以用于防止 sshd 占用了真实的 X11 服务器显示区,从而发生混淆。
    135 
    136 PrintMotd no                #登入后是否显示出一些信息呢?例如上次登入的时间、地点等
    137 
    138 #等,预设是 yes ,但是,如果为了安全,可以考虑改为 no !
    139 
    140 PrintLastLog yes           #指定是否显示最后一位用户的登录时间。默认值是"yes"
    141 
    142 TCPKeepAlive yes       #指定系统是否向客户端发送 TCP keepalive 消息。默认值是"yes"
    143 
    144 #。这种消息可以检测到死连接、连接不当关闭、客户端崩溃等异常。可以设为"no"关闭这个特性。
    145 
    146 UseLogin no               #是否在交互式会话的登录过程中使用 login。默认值是"no"。
    147 
    148 #如果开启此指令,那么 X11Forwarding 将会被禁止,因为 login 不知道如何处理 xauth 
    149 
    150 #cookies 。需要注意的是,login是禁止用于远程执行命令的。如果指定了 
    151 
    152 #UsePrivilegeSeparation ,那么它将在认证完成后被禁用。
    153 
    154 MaxStartups 10        #最大允许保持多少个未认证的连接。默认值是 10 。到达限制后,
    155 
    156 #将不再接受新连接,除非先前的连接认证成功或超出 LoginGraceTime 的限制。
    157 
    158 MaxAuthTries 6     #指定每个连接最大允许的认证次数。默认值是 6 。如果失败认证的次数超
    159 
    160 #过这个数值的一半,连接将被强制断开,且会生成额外的失败日志消息。
    161 
    162 UseDNS no          #指定是否应该对远程主机名进行反向解析,以检查此主机名是否与其IP
    163 
    164 #地址真实对应。
    165 
    166 Banner /etc/issue.net   #将这个指令指定的文件中的内容在用户进行认证前显示给远程用户。
    167 
    168 #这个特性仅能用于SSH-2,默认什么内容也不显示。"none"表示禁用这个特性。
    169 
    170 Subsystem sftp /usr/lib/openssh/sftp-server   #配置一个外部子系统(例如,一个文件
    171 
    172 #传输守   护进程)。仅用于SSH-2协议。值是一个子系统的名字和对应的命令行(含选项和参数)。
    173 
    174 UsePAM yes     #是否使用PAM模块认证
  • 相关阅读:
    项目一:CRM(客户关系管理系统)--1
    数据库统一API--SQLAlchemy
    消息队列--1--Redis
    消息队列--2--RabbitMQ
    python之路--web--2--Django-11-信号
    python之路--web--2--Django-10--序列化
    python之路--web--2--Django-8-分页
    python之路--web--2--Django-6-Session
    python之路--web--2--Django-5-Cookie
    python之路--web--2--Django-7-跨站请求伪造
  • 原文地址:https://www.cnblogs.com/ldcheng/p/9262093.html
Copyright © 2011-2022 走看看