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 [email protected]

   (3) 测试

[root@localhost ~]# ssh [email protected]
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 [email protected]:/tmp/

常用选项:

-r: 递归复制;

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

-q: 静默模式

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

sftp命令:

sftp [user@]host

sftp> help

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

[root@localhost ~]# sftp [email protected]
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

相关推荐

  • Linxux运维基础小计

    常用cat、ls、touch、mkdir、cp、mv小结 ·cat连续的将文件的内容显示在银幕上 用法:cat[OPTION]…[FILE]… 参数 -A显示所有非正常的所有符号 -E显示行结束符 -T显示制表符 -v显示其他的非打印字符 -n对显示的行进行编号,与文件内容没有关系 -b:打印出行号(空白行不标行号) 直接输入cat命令表示等待用户的输入并打…

    2017-02-18
  • 第一周作业

    # 1.计算机的基本组成和功能: – **存储器**:  实现记忆功能的部件用来存放计算程序及参与运算的各种数据 – **运算器**:  负责数据的算术运算和逻辑运算即数据的加工处理 – **控制器**:  负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访问 – **输入设备**: 实现计算程…

    Linux干货 2016-12-04
  • 常用的MySQL数据库备份

    常用的MySQL数据库备份方式 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lvm2快照备份数据 使用Xtrabackup备份 总结 前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可…

    2016-10-01
  • keepalived+nginx 模型示例

    原理为: 调度器 利用 keepalived 保持高可用性,实现对系统的监控和VIP 的floating NGINX 利用upstream模块进行调度 关键点: keepalived 对NGINX 状态的监控: //利用配置文件中设定的脚本对调度器的nginx 进程的监控 实验步骤: 基于上一篇LVS-DR架构来做,具体LVS-DR架构请参考上一篇 先设置主…

    2017-05-13
  • 几个常用命令、inode及第二周作业

    一、cd命令 1、功能 用来进行不同目录间的切换,属于内部命令。 2、语法 cd  [-L|-P]  [dir] -L : 如果要切换到的目录是一个符号链接,就直接切换到符号链接名表示的目录(默认)。 -P : 如果要切换到的目录是一个符号链接,直接接切换到符号链接指向的目标目录。 3、用法说明 cd 或 cd ~ :进入当前用户的主目录…

    Linux干货 2016-08-02
  • samba服务实现:linux和windows之间共享

    1,首先在linux(centos6,7)安装好samba程序:     yum -y install samba   samba-common        主配置文件:/etc/samba/smb.conf   ~]# groupadd share_gro…

    2017-03-05