OpenSSH

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

OpenSSH: ssh协议的开源实现;

dropbear:另一个开源实现;

 SSH协议版本

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

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

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

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

基于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/ 

存在两种情形:

PULLscp [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)
上一篇 2015-06-21 18:52
下一篇 2015-06-23 09:51

相关推荐

  • CentOS 7上的性能监控工具

    Linux中基于命令行的性能监控工具:dstat、top、netstat、vmstat、htop、ss、glances 1、dstat – 多类型资源统计工具(需配置epel源)   该命令整合了vmstat,iostat和ifstat三种命令。同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整…

    Linux干货 2016-09-07
  • linux基础学习第七天-正则表达式及grep

    2016-08-04 授课内容: 各种文本工具来查看、分析、统计文本文件(more、less、cat、cut、sort、wc、uniq、head、tail、paste、diff) grep 正则表达式 扩展正则表达式 【】所有的文本查看、分析、统计等都是只是更改标准输出的显示方式,对原文件内容并没有更改 cat [OPTION]… [FILE]&…

    Linux干货 2016-08-07
  • 磁盘管理(一)磁盘分区表类型与文件系统

    概述:本章介绍磁盘分区和文件系统,深度了解linux存储数据所依赖到各个部分模块。 设备文件 I/O Ports: I/O设备地址 一切皆文件: Linux为所有的设备文件都提供了统一的操作函数接口,方法是使用数据结构struct file_operations。这个数据结构中包括许多操作函数的指针,如open()、close()、read()和write(…

    Linux干货 2016-09-01
  • Linux 基础(6)—— 权限

    修改所属人,所属组                文件的 r w x 权限            修改文件的权限chmod          umask &nb…

    2017-07-27
  • linux下文件处理基础命令(自己预习瞎学的)

                      Linux下文件处理基础命令     1.创建文件   有时候我们会遇到需要创建一个空文件的情况。比如,应用程序可能希望在写…

    2017-07-15
  • awk学习笔记

    一、linux的文本处理器三剑客   文本过滤器:grep、egrep、fgrep   行编辑器:sed(模式空间;保持空间)   报表生成器:awk(格式化文本输出)gawk awk的工作流程: 从文本中读取一行内容,根据指定的分隔符;将读入的一行内容分隔成字段,然后格式化输出指定的字段 二、awk的命令相关的参数及用法 &n…

    Linux干货 2015-06-23