Linux自学笔记——openssh

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux自学笔记——openssh相关的知识,希望对你有一定的参考价值。


 

 

ssh:Secure  SHell

      C/S:22/tcp,安全地址登录

           Server:OpenSSH(sshd)

           Client:OpenSSH(ssh,scp),

                 Windows工具 :xshell,putty,securecrt ,sshsecure shell client

sshprotocol version

      V1:不安全;

      V2

主机认证:需要用到主机认证密钥;由服务器维护和提供;

用户登录:

      用户认证:

           基于口令认证;

           基于密钥认证:用户提供一对儿密钥,私钥保留在客户端,公钥保留于远程服务器端的用户家目录下;

OpenSSH

      sshd:配置文件 /etc/ssh/sshd_config

      技术分享

      ssh:配置文件 /etc/ssh/ssh_config

      技术分享

      客户端程序:

           ssh [options] [[email protected]]host  [COMMAND]

           ssh [-l  user] [options] host  [COMMAND]

          

省略用户名:

   使用本地用户名作为远程登录的用户名;

常用选项:

   -l  user:以指定的用户登录远程主机;

   -p port:用于指明远程服务器的端口;

   -X:支持X11转发;

         X:协议;x-Windows,C/S

         X11转发的作用:在本地显示远程主机上的图形窗口;

              前提:本地是X图形界面,或者提供了x service;

   -o StrictHostKeyChecking=no

接收的所有认可的服务器列表:

   ~/.ssh/known_hosts

   技术分享

ssh远程连接服务器时的配置选项,定义在/etc/ssh/ssh_config配置文件中;

   HOST pattern

         OPTION1 VALUE

         OPTION2 VALUE

         …

ssh支持的用户认证方式:

   基于口令认证;

   基于密钥认证:

1)    在本地主机生成一对密钥;

ssh-keygen  [-q] [-b bits]  [-t type] [-foutput_key_file]  [-P passphrase]

  -t {rsa|ecdsa|dsa}:公钥加密算法类型;

  -b bits:指明密钥长度;

  -P passphrase:私钥加密密码;

  -f output_keyfile:生成密钥的保存位置;

技术分享

2)    在本地主机上,将公钥复制到要登录的远程主机的某用户的家目录下的特定文件中(~/.ssh/authorized_keys)

技术分享

查看claude家目录的文件

技术分享

3)    测试

scp命令:基于ssh连接完成复制

         scp[options] SRC…  DEST/

         scp[option]    SRC   DEST

         存在两种使用情形:

              PULL:scp [options]  [[email protected]]host:PATH/TO/SOMEFILE     /PATH/TO/SOMEFILE

              技术分享

              PUSH:  scp [options]  /PATH/TO/SOMEFILE   [[email protected]]host:/PATH/TO/SOMEFILE

              技术分享

              常用选项:

                    -r:递归复制;

                    -p:保持原文件的权限信息;

                    -q:静默模式;

                    -PPORT:指明远程主机ssh协议监听的端口;

sftp命令:

         ftp:file transferprotocol,明文;

         安全的文件传输机制;

              ftps:ftp over ssl

              sftp:ftp over ssh

         sftp

              C/S架构

S:由sshd服务进程管理,是sshd的一个子系统,在centos系统上的openssh上,默认为启动状态:/usr/libexec/openssh/sftp-server

  C:即sftp;

 

连接至远程主机:sftp  [email protected]

      Sftp>help

                 技术分享

      sshd(服务端)

           配置文件:/etc/ssh/sshd_config(以下为部分配置文件)

           技术分享

                 格式:配置指令   值

                       常用指令:

                            Port     22

                            ListenAddress 0.0.0.0

                            Protocol    2

                            PermitRootLogin  yes

                            UseDNS   no

                 手册页:

                      man     sshd_config

                      man     sshd

                     

                      man ssh_config

                      man ssh

                 限制可登录的用户(配置文件):

                      AllowUsers  user1 user2  user3 …

                      AllowGroups   grp1 grp2 …

 

                      DenyUsers  user1 user2 …

                      DenyGroups  grp1 grp2 …

           Centos6:

                 服务脚本:/etc/rc.d/init.d/sshd

           Centos7:

                 System unitfile:/usr/lib/system/system/sshd.servcie

      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.做好日志,经常分析;

Ssh协议的另一个实现;dropbear

      轻量化的实现方案,多用于嵌入式环境中;

      常用工具:

           dbclient :ssh协议客户端程序

dbclient [options]  [[email protected]]host[/port][,[[email protected]]host/port],…][command]

           dropbearkey:主机密钥生成工具

                 dropbearkey –t <type>-f<filename> [-s bits]

                      /etc/dropbear/

      服务端程序:

           dropbear

                 -p [IP:]PORT

                 -F:前台;

                 -E:将日志发往错误输出;


以上是关于Linux自学笔记——openssh的主要内容,如果未能解决你的问题,请参考以下文章

自学it18大数据笔记-第二阶段Linux-day1——会持续更新……

Linux自学笔记——LAMP

Linux自学笔记——linux文件系统

Linux自学笔记:Linux文件系统及文件类型

Linux自学笔记:Linux基础命令

linux自学笔记--iptables