OpenSSH

ssh: secure shell, protocol, 22/tcp, 安全的远程登录

OpenSSH: ssh协议的开源实现;

dropbear:另一个开源实现;

 SSH协议版本

v1: 基于CRC-32做MAC,不安全;man-in-middle

v2:双方主机协议选择安全的MAC方式

基于DH算法做密钥交换,基于RSA或DSA算法实现身份认证;

两种方式的用户登录认证:

基于password

基于key

 OpenSSH:

C/S

C: ssh, scp, sftp

Windows客户端:

xshell, putty, securecrt, sshsecureshellclient

S: sshd 

客户端组件:

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

格式:ssh [user@]host [COMMAND]

  ssh [-l user] host [COMMAND]

   -p port:远程服务器监听的端口;

   -X: 支持x11转发;

   -Y:支持信任的x11转发; 

  Host PATTERN

   PARAMETER VALUE 

  基于密钥的认证:

   (1) 在客户端生成密钥对儿

   ssh -t rsa [-P ”] [-f “~/.ssh/id_rsa”]

例一:生成密钥对

[root@localhost ~]# ssh-keygen

   (2) 把公钥传输至远程服务器对应用户的家目录

   ssh-copy-id [-i [identity_file]] [user@]machine

例一:传输公钥

[root@localhost ~]# ssh-copy-id root@192.168.21.137

   (3) 测试

[root@localhost ~]# ssh root@192.168.21.137
Last login: Thu Jun 15 11:05:33 2017 from 192.168.21.137

scp命令:

scp [options] SRC… DEST/ 

存在两种情形:

PULL:scp [options] [user@]host:/PATH/FROM/SOMEFILE /PATH/TO/SOMEWHERE

PUSH: scp [options] /PATH/FROM/SOMEFILE [user@]host:/PATH/TO/SOMEWHERE

例一:把etc/fstab文件复制到另外一台主机上

[root@localhost ~]# scp /etc/fstab root@192.168.21.137:/tmp/

常用选项:

-r: 递归复制;

-p: 保持原文件的属性信息;

-q: 静默模式

-P PORT: 指明remote host的监听的端口; 

sftp命令:

sftp [user@]host

sftp> help

例一:以指定用户的生份运行

[root@localhost ~]# sftp root@192.168.21.141
Connected to 192.168.21.141.
sftp>

服务器端:

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

常用参数:

Port 22022

ListenAddress ip

PermitRootLogin yes 

限制可登录用户的办法:

AllowUsers user1 user2 user3

AllowGroups 

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

(1) dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key -s 2048

dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key

dropbear -p [ip:]port -F -E

 

 

原创文章,作者:kang,如若转载,请注明出处:http://www.178linux.com/78334

赞 (0)
kangkang
上一篇 2015-06-21 18:52
下一篇 2015-06-23 09:51

相关推荐

  • N25第一周作业

    第一周作业 一、计算机由硬件系统和软件系统两部分组成如下: 计算机硬件由CPU、内存、输入设备、输出设备组成。 1、中央处理器(CPU,Central Processing Unit)   CPU的功能主要是对输入指令的判断和运算;CPU包括运算器、控制器和寄存器三部分; (1)、运算器   执行各种算术和逻辑运算操作,计算机运行时,运算…

    Linux干货 2016-12-05
  • N26-第一周

    描述计算机的组成及功能。 计算机主要由运算器,控制器,存储器,输入、输出设备五大部件组成 运算器(Arithmetic Logic Unit, ALU):实现各种算数运算和逻辑运算(与控制器组成cpu)。 控制器(Control Unit, CU):计算机控制中心,根据程序规定的控制程序进行解释,根据要求进行调度,控 制协调各部分有条不紊的运行。 存储器(M…

    Linux干货 2017-02-03
  • 文件处理工具

    Linux的哲学思想之一是一切皆文件,所有系统中有许多文本文件。因此Linux有许多关于文本处理的命令。 cat命令 连接文件并打印到标准输出设备上,cat经常用来显示文件内容。 语法 cat [OPTION]… [FILE]… 常用选项 -A, –show-all #显示所有控制符 -b, –num…

    Linux干货 2016-08-08
  • 接51CTO:13 用户组和权限管理3

    用户组和权限管理3 一、杂项知识整理 1、硬链接:写源文件可以是相对地址,相对于链接文件。例如 [root@localhost testdir]# ln ../etc/fstab aaa ln: 无法创建硬链接"aaa" => "../etc/fstab…

    Linux干货 2016-08-04
  • 0809vim编辑器作业

    1、如何设置tab缩进为4个字符? :set tabstop=4 首先在命令扩展模式下列出所以set设置的相关选项set all  找到一个跟tab相关的选项,上网查了下意思,tabstop表示的意思就是制表为,他的默认值设置的为8,我们目的是4,那么在命令扩展模式下设置:set tabstop=4就OK了 2、复制/etc/rc.d/init.d…

    Linux干货 2016-08-09
  • Linux进程查看与管理命令总结

    Linux进程查看与管理命令总结 内核的功能: 进程管理 文件系统 网络功能 内存管理 驱动程序 安全功能 Process:运行中程序的一个副本。(存在生命周期) Linux内核存储进程信息的固定格式:task struct 多个任务的task struct组件的链表:task list 进程创建: init 父子关系 进程:都有其父进程创建 fork(),…

    Linux干货 2016-09-07