linux下ssh配置 - CSDN
精华内容
参与话题
  • 一:SSH配置文件相关参数详细说明 1)SSH客户端配置文件 [root@controller ~]# vi /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $ # This is the sshd server system-...

    一:SSH配置文件相关参数详细说明

    1)SSH客户端配置文件

    [root@controller ~]# vi /etc/ssh/sshd_config 
    #       $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $
    
    # This is the sshd server system-wide configuration file.  See
    # sshd_config(5) for more information.
    
    # This sshd was compiled with PATH=/usr/local/bin:/usr/bin
    
    # The strategy used for options in the default sshd_config shipped with
    # OpenSSH is to specify options with their default value where
    # possible, but leave them commented.  Uncommented options override the
    # default value.
    
    # If you want to change the port on a SELinux system, you have to tell
    # SELinux about this change.
    # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
    #
    #Port 22
    #AddressFamily any
    #ListenAddress 0.0.0.0
    #ListenAddress ::
    
    # The default requires explicit activation of protocol 1
    #Protocol 2
    
    # HostKey for protocol version 1
    #HostKey /etc/ssh/ssh_host_key
    # HostKeys for protocol version 2
    HostKey /etc/ssh/ssh_host_rsa_key
    #HostKey /etc/ssh/ssh_host_dsa_key
    HostKey /etc/ssh/ssh_host_ecdsa_key
    HostKey /etc/ssh/ssh_host_ed25519_key
    
    # Lifetime and size of ephemeral version 1 server key
    #KeyRegenerationInterval 1h
    #ServerKeyBits 1024
    
    # Ciphers and keying
    #RekeyLimit default none
    #ServerKeyBits 1024
    
    # Ciphers and keying
    #RekeyLimit default none
    
    # Logging
    # obsoletes QuietMode and FascistLogging
    #SyslogFacility AUTH
    SyslogFacility AUTHPRIV
    #LogLevel INFO
    
    # Authentication:
    
    #LoginGraceTime 2m
    #PermitRootLogin yes
    #StrictModes yes
    #MaxAuthTries 6
    #MaxSessions 10
    
    #RSAAuthentication yes
    #PubkeyAuthentication yes
    
    # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
    # but this is overridden so installations will only check .ssh/authorized_keys
    AuthorizedKeysFile      .ssh/authorized_keys
    
    #AuthorizedPrincipalsFile none
    
    #AuthorizedKeysCommand none
    #AuthorizedKeysCommandUser nobody
    
    # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
    #RhostsRSAAuthentication no
    # similar for protocol version 2
    #HostbasedAuthentication no
    # Change to yes if you don't trust ~/.ssh/known_hosts for
    # RhostsRSAAuthentication and HostbasedAuthentication
    #IgnoreUserKnownHosts no
    # Don't read the user's ~/.rhosts and ~/.shosts files
    #IgnoreRhosts yes
    
    # To disable tunneled clear text passwords, change to no here!
    #PasswordAuthentication yes
    #PermitEmptyPasswords no
    PasswordAuthentication yes
    
    # Change to no to disable s/key passwords
    #ChallengeResponseAuthentication yes
    ChallengeResponseAuthentication no
    
    # Kerberos options
    #KerberosAuthentication no
    #KerberosOrLocalPasswd yes
    #KerberosTicketCleanup yes
    #KerberosGetAFSToken no
    #KerberosUseKuserok yes
    
    # GSSAPI options
    GSSAPIAuthentication no
    GSSAPICleanupCredentials no
    #GSSAPIStrictAcceptorCheck yes
    #GSSAPIKeyExchange no
    #GSSAPIEnablek5users no
    
    # Set this to 'yes' to enable PAM authentication, account processing,
    # and session processing. If this is enabled, PAM authentication will
    # be allowed through the ChallengeResponseAuthentication and
    # PasswordAuthentication.  Depending on your PAM configuration,
    # PAM authentication via ChallengeResponseAuthentication may bypass
    # the setting of "PermitRootLogin without-password".
    # If you just want the PAM account and session checks to run without
    # PAM authentication, then enable this but set PasswordAuthentication
    # and ChallengeResponseAuthentication to 'no'.
    # WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several
    # problems.
    UsePAM yes
    
    #AllowAgentForwarding yes
    #AllowTcpForwarding yes
    #GatewayPorts no
    X11Forwarding yes
    #X11DisplayOffset 10
    #X11UseLocalhost yes
    #PermitTTY yes
    #PrintMotd yes
    #PrintLastLog yes
    #TCPKeepAlive yes
    #UseLogin no
    UsePrivilegeSeparation sandbox          # Default for new installations.
    #PermitUserEnvironment no
    #Compression delayed
    #ClientAliveInterval 0
    #ClientAliveCountMax 3
    #ShowPatchLevel no
    UseDNS no
    #PidFile /var/run/sshd.pid
    #MaxStartups 10:30:100
    #PermitTunnel no
    #ChrootDirectory none
    #VersionAddendum none
    
    # no default banner path
    #Banner none
    
    # Accept locale-related environment variables
    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
    AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
    AcceptEnv XMODIFIERS
    
    # override default of no subsystems
    Subsystem       sftp    /usr/libexec/openssh/sftp-server
    
    # Example of overriding settings on a per-user basis
    #Match User anoncvs
    #       X11Forwarding no
    #       AllowTcpForwarding no
    #       PermitTTY no
    #       ForceCommand cvs server
    "/etc/ssh/sshd_config" 153L, 4358C
    
    /etc/ssh/ssh——config
    
    
    #配置文件概要
    
    
    Host *                                         #选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。
    
    ForwardAgent no                      #设置连接是否经过验证代理(如果存在)转发给远程计算机。
    
    ForwardX11 no                          #设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)
    
    RhostsAuthentication n            #设置是否使用基于rhosts的安全验证。
    
    RhostsRSAAuthentication no   #设置是否使用用RSA算法的基于rhosts的安全验证。
    
    RSAAuthentication yes             #设置是否使用RSA算法进行安全验证。
    
    PasswordAuthentication yes    #设置是否使用口令验证。
    
    FallBackToRsh no                     #设置如果用ssh连接出现错误是否自动使用rsh。
    
    UseRsh no                               #设置是否在这台计算机上使用“rlogin/rsh”。
    
    BatchMode no                        #如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。
    
    CheckHostIP yes                      #设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。
    
    StrictHostKeyChecking no      #如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接。
    
    IdentityFile ~/.ssh/identity     #设置从哪个文件读取用户的RSA安全验证标识。
    
    Port 22                                    #设置连接到远程主机的端口。
    
    Cipher blowfish                      #设置加密用的密码。
    
    EscapeChar ~                         #设置escape字符。
    
    

    2)SSH服务端配置文件详解

    /etc/ssh/sshd_config
    
    #配置文件概要
    
    
    Port 22          # SSH 预设使用 22 这个 port,最好是用别的 port !
    
    Protocol 2,1  # 选择的 SSH 协议版本,可以是 1 也可以是 2 ,如果要同时支持两者,就必须要使用 2,1 这个分隔了!
    
    
    ListenAddress 0.0.0.0  
    
          
    #监听的主机适配卡!举个例子来说,如果您有两个 IP,分别是 192.168.0.100 及 192.168.2.20 ,那么只想要开放 192.168.0.100 时,
    
    #就可以写如同下面的样式:ListenAddress 192.168.0.100 只监听来自 192.168.0.100 这个 IP 的SSH联机。
    
    如果不使用设定的话,则预设所有接口均接受 SSH
    
    
    PidFile /var/run/sshd.pid  # 可以放置 SSHD 这个 PID 的档案!左列为默认值
    
    
    LoginGraceTime 600           # 当使用者连上 SSH server 之后,会出现输入密码的画面,在该画面中,在多久时间内没有成功连上 
    
    SSH server ,就断线!时间为秒!
    
    
    
    Compression yes              # 是否可以使用压缩指令?
    
    
    HostKey /etc/ssh/ssh_host_key          # SSH version 1 使用的私钥
    
    
    HostKey /etc/ssh/ssh_host_rsa_key   # SSH version 2 使用的 RSA 私钥
    
    
    HostKey /etc/ssh/ssh_host_dsa_key  # SSH version 2 使用的 DSA 私钥
    
    
    KeyRegenerationInterval 3600       # 由前面联机的说明可以知道, version 1 会使用 server 的 Public Key ,每隔一段时间来重新建立一次!时间为秒!
    
    
    
    ServerKeyBits 768                         # Server key 的长度!
    
    
    SyslogFacility AUTH                        # 当有人使用 SSH 登入系统的时候,SSH会记录信息
    
    
    LogLevel INFO                            # 登录记录的等级---》全部
    
    PermitRootLogin no                     # 是否允许 root 登入!预设是允许的,但是建议设定成 no!
    
    UserLogin no                         # 在 SSH 底下本来就不接受 login 这个程序的登入!
    
    StrictModes yes                   # 当使用者的 host key 改变之后,Server 就不接受联机
    
    RSAAuthentication yes                 # 是否使用纯的 RSA 认证!?仅针对 version 1 !
    
    PubkeyAuthentication yes              # 是否允许 Public Key ?只有 version 2
    
    AuthorizedKeysFile .ssh/authorized_keys         #设定若要使用不需要密码登入的账号时,那么那个账号的存放档案所在档名!
    
    RhostsAuthentication no          # 本机系统不使用 .rhosts , .rhosts 不安全!
    
    IgnoreRhosts yes              # 是否取消使用 ~/.ssh/.rhosts 来做为认证!
    
    RhostsRSAAuthentication no         # 针对 version 1 ,使用 rhosts 档案在/etc/hosts.equiv配合 RSA 演算方式来进行认证!
    
    HostbasedAuthentication no         # 这个项目与上面的项目类似,不过是给 version 2 使用的!
    
    IgnoreUserKnownHosts no      # 是否忽略家目录内的 ~/.ssh/known_hosts 这个档案所记录的主机内容
    
    PasswordAuthentication yes         # 密码验证当然是需要的!
    
    PermitEmptyPasswords no      # 上面那一项如果设定为 yes 的话,这一项就最好设定为 no ,这个项目在是否允许以空的密码登入!
    
    ChallengeResponseAuthentication yes         # 挑战任何的密码认证!所以,任何 login.conf规定的认证方式,均可适用!
    
    PAMAuthenticationViaKbdInt yes         # 是否启用其它的 PAM 模块!启用这个模块将会导致 PasswordAuthentication 设定失效!
    
    

    #与Kerberos 有关的参数设定!底下不用设定

    
    
    
      KerberosAuthentication no
      
      KerberosOrLocalPasswd yes
      
      KerberosTicketCleanup yes
      
      KerberosTgtPassing no
      
    

    #有关在 X-Window 底下使用的相关设定

    
        X11Forwarding yes
    
      X11DisplayOffset 10
      
      X11UseLocalhost yes
      
    
    
    PrintMotd no                        # 登入后是否显示出一些信息呢?例如上次登入的时间、地点等,预设是 yes ,但是,如果为了安全,可以考虑改为 no !
    
    PrintLastLog yes       # 显示上次登入的信息!可以啊!预设也是 yes !
    
    KeepAlive yes         # 一般而言,如果设定这项目的话,那么 SSH Server 会传送KeepAlive 的讯息给 Client 端,
    以确保两者的联机正常!在这个情况下,任何一端死掉后
    , 
    SSH 可以立刻知道!而不会有僵尸程序的发生!
    
    UsePrivilegeSeparation yes        # 使用者的权限设定项目!
    
    MaxStartups 10            # 同时允许几个尚未登入的联机画面?
    
    DenyUsers *               # 设定受抵挡的使用者名称
    
    

    二:常用的SSH服务端远程登录配置与实践

    配置文件 /ect/ssh/sshd_config

     #常用参数:
        Port                                  # 可修改ssh访问端口,默认为22。默认在本机的所有网络接口上监听。端口范围:0~65535,不能与已有的服务器端口冲突
    
        PermitEmptyPasswords   #是否允许密码为空的用户远程登录。默认为"no"
        
        PermitRootLogin             #是否允许ssh远程登录root帐号,建议为no
        
        ClientAliveInterval 0        #客户端连接数做限制,根据需求设置
        
        UseDNS                          #指定sshd是否应该对远程主机名进行方向解析,以检查此主机名是否与其IP地址真实对应。默认值为"yes"。个人建议改成no,否则可能会导致ssh连接很慢
        
        GSSAPIAuthentication no             #解决Linux之间使用SSH远程连接慢的问题
        
    
    
    
    
    
    
    
    
    
        #限制可登录用户的办法如下:
    
    
        AllowUsers user1 user2 user3        #允许ssh登录用户
        
        DenyUsers             #禁止ssh登陆用户
        
        AllowGroups         #允许ssh登录用户组
        
        DenyGroups         #禁止ssh登陆用户组
        
    
     #温馨提示:这里用虚拟机做测试,以免参数设置有误,连接不上。可以上真实虚拟机修改
    
    [root@localhost ssh]# cp sshd_config sshd_config$(date +%F)
    
    [root@localhost ssh]# cat sshd_config
    
    Port 52168                          #连接端口改为52168
    
    PermitRootLogin no                  #不允许ssh远程登录root帐号
    
    PermitEmptyPasswords no             #不允许密码为空的用户远程登录
    
    UseDNS no                           #不进行解析
    
    GSSAPIAuthentication no             #解决Linux之间使用SSH远程连接慢的问题
    
    allowusers ywxi@192.168.1.11        #允许ywxi用户使用本机内网地址链接
    
    denyusers  ywxitest@192.168.1.11    #禁止ywxitest用户使用本机内网地址连接
    
    [root@localhost ssh]# useradd ywxi    #创建用户,用来测试
    
    [root@localhost ssh]# useradd ywxitest
    
    [root@localhost ssh]# passwd ywxi    #给ywxi用户设置密码,暂时不给ywxitest用户设置
    
    [root@localhost ssh]# ifconfig |grep 'inet addr'    #虚拟机IP地址
    
              inet addr:192.168.1.8  Bcast:192.168.1.255  Mask:255.255.255.0
              inet addr:127.0.0.1  Mask:255.0.0.0
              
    [root@localhost ssh]# /etc/init.d/sshd restart        #重启服务,使SSH服务端配置生效
    
    Stopping sshd:                                             [  OK  ]
    Starting sshd:                                             [  OK  ]
    
    
    [root@localhost ssh]# grep 52168 /etc/sysconfig/iptables
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 52168 -j ACCEPT    #添加防火墙规则允许52168端口开放
    
    [root@localhost ssh]# /etc/init.d/iptables restart
    iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
    iptables: Flushing firewall rules:                         [  OK  ]
    iptables: Unloading modules:                               [  OK  ]
    iptables: Applying firewall rules:                         [  OK  ]
    

    以下是客户端用CRT工具通过sshd服务远程连接虚拟主机过程:
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    用root用户连接,一直会提示密码验证失败

    在这里插入图片描述

    修改配置PermitRootLogin yes 改为yes,注意有allowusers限制用户时需要把root用户也允许
    修改后,重启sshd服务设置好端口后,root用户即可连接

    在这里插入图片描述

    三:更高级的SSH安全策略

    限制用户登录IP的方法有两种;

    1)修改/etc/hosts.allow和/etc/hosts.deny 这两个文件,把需要通过的IP写在/etc/hosts.allow 文件里
    
    
    [root@localhost ~]# cat /etc/hosts.allow 
    sshd:192.168.1.11:allow
    [root@localhost ~]# cat /etc/hosts.deny 
    sshd:ALL
    [root@localhost ~]# /etc/init.d/sshd restart     #重启服务使配置生效
    
    
    
    
    
    2)修改/etc/ssh/sshd_config文件
    
    [root@localhost ~]# cat /etc/ssh/sshd_config 
    allowusers ywxi@192.168.1.11
    allowusers root@192.168.1.11
    denyusers  ywxitest@192.168.1.11
    [root@localhost ~]# /etc/init.d/sshd restart     #重启服务使配置生效
    
    

    更改SSH监听的IP,使其监听内网IP段或指定ip;

    1)更改SSH监听的IP,使其监听内网IP段
    
    [root@localhost ssh]# cat sshd_config|grep Listen
    ListenAddress 192.168.1.8:52168
    
    
    2)通过防火墙限制仅能使用内网IP连接此服务器。限制命令如下
    iptables -I INPUT -p -tcp --dport 52168 -s 192.168.1.0/24 -j ACCEPT
    
    
    
    3)通过拨号到×××服务器,然后从局域网访问这些服务器,提升安全性。
    
    

    四:ssh服务安全加强的建议(仅供参考,工作中根据需求来就好行)

       1、不要使用默认端口
    
         2、禁止使用protocol version 1
    
         3、限制可登录用户
    
         4、设定空闲会话超时时长
         
         5、利用防火墙设置ssh访问策略
         
         6、仅监听特定的IP地址
         
         7、基于口令认证时,使用强密码策略
         
                tr -dc A-Za-z0-9_ < /dev/urandom | head -c 30 | xargs
    
    
         8、使用基于密钥的认证
         
         9、禁止使用空密码
         
         10、禁止root用户直接登录
         
         11、限制ssh的访问频度和并发在线数
         
         12、做好日志,经常分析
         
         
         13、锁死sshd服务的配置文件,防止篡改,修改锁文件命令
         
    
    展开全文
  • 基于linux下ssh服务的远程免密配置

    千次阅读 2019-01-31 16:05:55
    OpenSSH是SSH(Secure SHell)协议的免费开源实现。 SSH协议族可以用来进行远程控制,或在计算机之间传送文件。 而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且...

    实验前提:

    打开两台虚拟机分别配置IP为172.25.254.121和172.25.254.221,只要不同即可。

    服务端:

    hostnamectl set-hostname service.com  更改名字方便区分
    [root@service ~]# ifconfig   查看IP
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.25.254.121  netmask 255.255.255.0  broadcast 172.25.254.255
            inet6 fe80::5054:ff:fe0f:48bf  prefixlen 64  scopeid 0x20<link>
            ether 52:54:00:0f:48:bf  txqueuelen 1000  (Ethernet)
            RX packets 101  bytes 11691 (11.4 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 59  bytes 8702 (8.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    这里写图片描述
    客户端:

    hostnamectl set-hostname client.com  更改名字方便区分
    [root@client ~]# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.25.254.221  netmask 255.255.255.0  broadcast 172.25.254.255
            inet6 fe80::5054:ff:fe41:fe50  prefixlen 64  scopeid 0x20<link>
            ether 52:54:00:41:fe:50  txqueuelen 1000  (Ethernet)
            RX packets 1818  bytes 444942 (434.5 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1530  bytes 4472387 (4.2 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    这里写图片描述

    客户端连接需要密码:

    [root@client ~]# rm -fr /root/.ssh/   删除.ssh目录
    [root@client ~]# ssh root@172.25.254.121  连接服务端,目录会自动生成
    The authenticity of host '172.25.254.121 (172.25.254.121)' can't be established.
    ECDSA key fingerprint is b1:05:1c:1c:99:8d:fd:26:e7:d9:62:3c:32:4d:91:66.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.25.254.121' (ECDSA) to the list of known hosts.
    root@172.25.254.121's password:     需要输入密码
    Last login: Thu Jun 14 08:33:55 2018 from 172.25.254.221
    [root@service ~]# exit
    logout
    Connection to 172.25.254.121 closed.
    [root@client ~]# cd /root/.ssh/   切换到.ssh路径
    [root@client .ssh]# ls   查看已经有了连接
    known_hosts
    

    这里写图片描述
    在服务端:

    [root@service ~]# rm -fr /root/.ssh/  删除.ssh目录
    [root@service ~]# ssh root@172.25.254.221  连接客户端生成目录
    The authenticity of host '172.25.254.221 (172.25.254.221)' can't be established.
    ECDSA key fingerprint is 1c:8a:8c:8e:fe:33:f3:7a:9d:70:11:f9:9a:57:6c:23.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.25.254.221' (ECDSA) to the list of known hosts.
    root@172.25.254.221's password: 
    Last login: Thu Jun 14 08:21:20 2018 from 172.25.254.84
    [root@client ~]# exit
    logout
    Connection to 172.25.254.221 closed.
    [root@service ~]# cd /root/.ssh/   切换到.ssh路径
    [root@service .ssh]# ls   已经有了连接
    known_hosts
    

    这里写图片描述
    在服务端生成锁和钥匙:

    [root@service .ssh]# ssh-keygen   生成密钥的命令
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 保存加密字符的文件用默认
    Enter passphrase (empty for no passphrase):  可以为空,如果不想为空必须大于4位
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa. 私钥
    Your public key has been saved in /root/.ssh/id_rsa.pub. 公钥
    The key fingerprint is:
    4c:ce:8b:d0:98:b5:c5:5c:e3:72:a9:11:9b:e0:b6:ce root@service.com
    The key's randomart image is:
    +--[ RSA 2048]----+
    |      . . o      |
    |     . + * o     |
    |      + X +      |
    |     * O =       |
    |    + + S        |
    |     + . .       |
    |      E .        |
    |                 |
    |                 |
    +-----------------+
    [root@service .ssh]# ls
    id_rsa  id_rsa.pub  known_hosts
    

    这里写图片描述
    加密ssh用户的认证:

    [root@service .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.121   对服务端进行加密
    ssh-copy-id		加密命令
    -i			指定密钥
    /root/.ssh/id_rsa.pub	密钥
    root			加密用户
    172.25.254.121		主机ip
    [root@service .ssh]# ls   已经生成锁文件
    authorized_keys  id_rsa  id_rsa.pub  known_hosts
    

    这里写图片描述
    传输密钥:

    [root@service .ssh]# scp /root/.ssh/id_rsa root@172.25.254.221:/root/.ssh/
    root@172.25.254.221's password: 
    id_rsa                                        100% 1675     1.6KB/s   00:00      解密文件传输到客户端
    

    这里写图片描述

    在客户端可以免密连接:

    [root@client .ssh]# ls    查看已经有了私钥
    id_rsa  known_hosts
    [root@client .ssh]# ssh root@172.25.254.121  可以免密连接
    Last login: Thu Jun 14 08:41:02 2018 from 172.25.254.221
    [root@service ~]# exit   退出
    logout
    Connection to 172.25.254.121 closed.
    

    这里写图片描述
    在服务端删除解密文件:

    [root@service .ssh]# rm -fr authorized_keys  当此文件被删除,客户端解密文件失效
    [root@service .ssh]# ls   查看已经被删除
    id_rsa  id_rsa.pub  known_hosts
    

    这里写图片描述
    在客户端无法免密连接:

    [root@client .ssh]# ssh root@172.25.254.121  连接需要密码
    root@172.25.254.121's password: 
    Last login: Thu Jun 14 08:49:10 2018 from 172.25.254.221
    [root@service ~]# exit   退出
    logout 
    Connection to 172.25.254.121 closed.
    

    这里写图片描述
    在服务端重新生成解密文件:

    [root@service .ssh]# scp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys  从新生成锁文件,解密文件功能恢复
    [root@service .ssh]# ls  查看已经生成锁文件
    authorized_keys  id_rsa  id_rsa.pub  known_hosts
    

    这里写图片描述
    在客户端可以免密连接:

    客户端删除私钥之后同样不可以免密连接:

    [root@client .ssh]# ssh root@172.25.254.121  可以免密连接
    Last login: Thu Jun 14 08:49:35 2018 from 172.25.254.221
    [root@service ~]# exit  退出
    logout
    Connection to 172.25.254.121 closed.
    [root@client .ssh]# rm -fr id_rsa  在客户端删除私钥之后也没办法免密执行
    [root@client .ssh]# ls  查看已经删除私钥
    known_hosts
    [root@client .ssh]# ssh root@172.25.254.121  连接需要密码
    root@172.25.254.121's password: 
    Last login: Thu Jun 14 08:50:10 2018 from 172.25.254.221
    [root@service ~]# exit  退出
    logout
    Connection to 172.25.254.121 closed.
    

    这里写图片描述
    在服务端重新发送私钥:

    [root@service .ssh]# scp /root/.ssh/id_rsa root@172.25.254.221:/root/.ssh/  重新发送解密文件
    root@172.25.254.221's password: 
    id_rsa                                        100% 1675     1.6KB/s   00:00
    

    这里写图片描述
    在客户端恢复免密:

    [root@client .ssh]# ls  查看已经有了私钥
    id_rsa  known_hosts
    [root@client .ssh]# ssh root@172.25.254.121 可以免密连接
    Last login: Thu Jun 14 08:50:23 2018 from 172.25.254.221
    [root@service ~]# exit  退出
    logout
    Connection to 172.25.254.121 closed.
    

    这里写图片描述

    展开全文
  • Linux系统下ssh的相关配置

    千次阅读 2009-06-04 21:50:00
    Linux系统下ssh的相关配置 ssh是大家常用的登录linux服务器的方式,但是为了安全考虑,有时候我们需要针对ssh做一些特殊处理,本文记录笔者曾经做过的一些修改,供大家参考。一、修改ssh端口ssh默认为22端口,如果...

    Linux系统下ssh的相关配置

     

          ssh是大家常用的登录linux服务器的方式,但是为了安全考虑,有时候我们需要针对ssh做一些特殊处理,本文记录笔者曾经做过的一些修改,供大家参考。

    一、修改ssh端口

    ssh默认为22端口,如果需要修改成其它端口,则可以修改/etc/ssh/sshd_config文件,将

    #Port 22

    注释去掉,修改成需要的端口(比如8888),然后使用如下命令重启ssh服务

    service sshd restart

    二、关闭root用户远程ssh登录的权限

    如果不希望root用户远程登录,可以按照如下修改:
    vi /etc/ssh/sshd_config
    #PermitRootLogin yes
    注释去掉,yes改为no,重启ssh服务(这里最好reboot一下)

    三、禁止某些特定用户远程登录

    1. 修改/etc/pam.d/sshd

    在#%PAM-1.0后加入一行:

    auth       required     pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail

    2.  启用用户远程登录(例如允许chb远程登录):

    echo chb>> /etc/ssh_users

    3.  禁止用户远程登录:

    rm –rf /etc/ssh_users

    如上示例只是简单删除文件,其实如果不允许某个用户登录,则将该用户从ssh_users文件中删除即可。

     

    展开全文
  • Linux git安装 配置ssh公钥

    千次阅读 2019-03-28 18:34:39
    1.首先查案是否安装gitrpm -qa|grepgit 2.下载git安装包上传,如图我已经上传 2.安装git依赖;sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder ...

    1.首先查案是否安装git
    rpm -qa|grep git

    2.下载git安装包上传,如图我已经上传

    2.安装git依赖;
    sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils- MakeMaker 

    安装完成

    3.进入git安装目录编译

    sudo make prefix=/usr/local/git all


    4.继续编译
    sudo make prefix=/usr/local/git install

    5.配置git环境,查看git安装目录

    6.修改配置文件,打开/etc/profile

    7.修改path环境,保存退出 

    8.是配置生效:

    9.查看版本 git --version 安装完成!

    10.配置git用户名和邮箱 字符集 ssh配置是,直接三次回车就ok

     

    11.添加ssh,配置公钥,查看公钥,完成

    12.登录github/码云.gitlib配置公钥,安装完成

    展开全文
  • linux下安装SSH服务及使用详解

    万次阅读 2019-04-28 10:40:41
    linux下安装SSH服务及使用详解 ssh服务介绍说明 secure shell protocol简称SSH,是由IETF网络工作小组(network working group) 制定,在进行数据传输之前,SSH先对联级数据包通过加密技术进行加密处理,加密后在进行数据...
  • linux下ssh服务、配置、密钥的设置

    万次阅读 2018-04-26 20:17:56
    在客户端连接sshd的方式 ssh 服务端用户@服务端ip地址 当主机第一次连接陌生主机时,会自动建立.ssh/know_hosts。 以上连接方式是不能打开远程主机的图形界面功能的如果需要打开远程主机图形界面功能需要输入 -X...
  • Linux初窥:Linux下SSH免密码登录配置

    万次阅读 多人点赞 2019-05-26 21:08:11
    环境设置(root权限) 1.关闭防火墙和SELinux 2.设置主机名 3.配置hosts 4.配置sshd 秘钥设置 1.创建免密码登录账户 2.生成秘钥 3.将公钥导入到认证文件 4.设置文件访问权限 5.将认证文件复制到其他主机 ...
  • linux-ssh配置

    千次阅读 2017-04-18 16:44:49
    安装SSH: yum install ssh 启动SSH: service sshd start 设置开机运行: ...SSH配置: 1、修改vi /etc/ssh/sshd_config,根据模板将要修改的参数注释去掉并修改参数值: Port 22 指定SSH连接的端口号
  • 今天重新复习了一遍SSH协议,在这里把ssh登录做个笔记。 首先SSH是什么?SSH(Secure SHell)是Linux、Unix、Mac及其他网络设备最常用的远程CLI管理协议,SSH使用秘钥对数据进行加密,保证了远程管理数据的安全性。...
  • Kali-linuxssh配置

    千次阅读 2018-06-09 21:17:38
    linux环境下ssh配置1.ssh安装与启动(1)安装ssh命令:apt-get install ssh(2)启动ssh、关闭ssh、查看ssh状态的命令分别是:/etc/init.d/ssh start/etc/init.d/ssh stop/etc/init.d/ssh status2.ssh配置(1)...
  • Linux SSH公钥认证配置

    千次阅读 2016-09-27 15:17:52
    Linux SSH公钥认证配置   ssh支持两种认证方式:密码认证和公钥认证。若没有配置公钥认证,则每次ssh连接时都需要输入密码,不仅麻烦而且还不安全,因此推荐配置公钥认证,只需在配置时输入一次密码,之后ssh连接...
  • Linux SSH服务端配置文件设置

    千次阅读 2019-09-18 07:38:44
    SSH概述 SSH 由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程...
  • Linux配置SSH服务以便实现远程连接

    万次阅读 2016-08-02 22:11:29
    Linux配置SSH服务以便实现远程连接
  • linux配置ssh免密登录

    2018-08-15 14:26:58
    1、在客户端生成公钥和私钥 ssh-keygen 查看生成的公钥 2、在服务端保存客户端的公钥 (在~/.ssh/authorized_keys) ...ssh-copy-id root@192.168.163.131 3、查看保存的公钥 ...配置ssh免密登录结束...
  • linux ssh key配置方法

    千次阅读 2017-12-13 09:56:12
    linux ssh key配置方法 转自:http://blog.csdn.net/zzk197/article/details/7915307   一:简洁的配置文件 [root@cisco ~]# vi /etc/ssh/sshd_config Port 22 Protocol 2 HostKey /etc/ssh/ssh_host_...
  • Ubuntu linux ssh配置

    千次阅读 2018-12-27 22:56:06
    1.检查是否安装了ssh服务 `apt-cache policy openssh-client openssh-server` 2.安装ssh服务 apt-get install openssh-server 3.查看ssh服务的开启状况 `ps -e|grep ssh` 4.开启ssh服务 sudo /etc/init.d/ssh ...
  • SSH作为Linux远程连接重要的方式,如何配置安装linux系统的SSH服务,如何开启SSH?下面来看看吧(本例为centos系统演示如何开启SSH服务) 1.登陆linux系统,打开终端命令。输入 rpm -qa |grep ...
  • 3.如此说明安装成功,然后配置ssh验证 ssh-keygen -t rsa -C "你的邮箱” 比如:ssh-keygen -t rsa -C "XXXXX@qq.com" 4.进入生成的公私钥文件夹 cd ~/.ssh 5.执行命令,在本机配置私钥 ssh-add ...
  • linux 配置ssh信任

    千次阅读 2019-05-23 08:32:20
    linux ,经常需要配置双机或者多机信任,简要记录具体的操作。 比如配置 a,b两台机器ssh信任。 生成密钥 a,b两台机器均需要自行 # cd ~ # ssh-keygen -t rsa 此时会生成两个密码文件: ...
  • Linux如何配置ssh key

    千次阅读 2019-03-24 11:59:05
    【1】检查SSH keys是否存在 ls -al ~/.ssh 如果配置过,会显示如下信息: drwx------ 2 wx wx 4096 3月 20 16:35 . drwxr-xr-x 19 wx wx 4096 3月 20 16:25 … -rw------- 1 wx wx 1675 3月 20 16:35 id_rsa -...
1 2 3 4 5 ... 20
收藏数 209,404
精华内容 83,761
热门标签
关键字:

linux下ssh配置