SSH原理及安装

SH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。

一、从客户端来看,SSH提供两种级别的安全第一种级别是基于口令的安全验证

第一种级别是基于口令的安全验证

只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密, 但是不能保证你正在连接的服务器就是你想连接的服务器。这个过程如下:

(1)远程主机收到用户的登录请求,把自己的公钥发给用户。

(2)用户使用这个公钥,将登录密码加密后,发送回来。

(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。这种方式可能会有别的服务器在冒充真正的服务器,将公钥发送给客户端,客户端就会将密码加密后发送给冒充的服务器,冒充的服务器就可以拿自己的私钥获取到密码,也就是受到“中间人”这种方式的攻击。

值得一说的是当第一次链接远程主机时,会提示您当前主机的”公钥指纹”,询问您是否继续,如果选择继续后就可以输入密码进行登录了,当远程的主机接受以后,该台服务器的公钥就会保存到~/.ssh/known_hosts文件中。

第二种级别是基于密匙的安全验证

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒,但是相比输入密码的方式来说10秒也不长。

二、ssh正常安装

(1)判断是否安装ssh服务:

ssh localhost
ssh: connect to host localhost port 22: Connection refused

如上所示,表示没有安装,Ubuntu缺省安装了openssh-client,仅需安装 ssh-server就可以了。

安装ssh-server
sudo apt-get install openssh-server
安装ssh-client
sudo apt-get install openssh-client

系统将自动进行安装,安装完成以后,先启动服务:

sudo /etc/init.d/ssh start

启动后,可以通过如下命令查看服务是否正确启动

ps -e|grep ssh
1673 ?       00:00:00 ssh-agent
4366 ?       00:00:00 sshd

(2)如上表示启动ok。注意,ssh默认的端口是22,可以更改端口,更改后先stop,然后start就可以了。改配置在/etc/ssh/sshd_config下,如下所示:

vi /etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 22

把里面的Port参数修改成其他的即可,然后重启SSH服务:

sudo /etc/init.d/ssh restar

最后,应该是连接的时候了。请看如下命令:

ssh 用户名@192.168.158.129(通过ifconfig -a查ip)

三、ssh免密码安装

(1)在主机A、B下生成公钥/私钥对

ssh-keygen -t dsa  -P ‘‘

使用dsa加密算法,-P表示密码,-P ” 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。在/home/用户/.ssh下有id_rsa和id_rsa.pub

(2)对于A/B,id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件,这个步骤是必须的,过程如下:

cat id_dsa.pub >> authorized_keys(chmod 600 ~/.ssh/authorized_keys)

(3)单机回环ssh免密码登录测试

即在单机结点上用ssh进行免密码登录,看能否登录成功。登录成功后注销退出,过程如下:

ssh localhost

(4)把A机下的id_rsa.pub复制到B机下为A_dsa.pub,在B机下将A_dsa.pub追加到authorized_keys文件里:

scp /home/A用户名/.ssh/id_dsa.pub B用户名@B主机ip:/home/B用户名/.ssh/A_dsa.pub

cat A_dsa.pub >> authorized_keys

(5)主机A就可以免密码访问主机B:

ssh 主机B用户@主机B的ip

(6)小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。

时间: 2024-07-30 13:03:37

SSH原理及安装的相关文章

Open SSH原理

OpenSSH(免费的 SSH 的实现)类似于 telnet 或rsh,ssh 客户程序也可以用于登录到远程机器.所要求的只是该远程机器正在运行 sshd,即 ssh 服务器进程.但是,与 telnet 不同的是,ssh 协议非常安全.加密数据流,确保数据流的完整性,甚至安全可靠的进行认证它都使用了专门的算法. SSH原理 1.服务器建立公钥每一次启动sshd服务时,该服务会主动去找/etc/ssh/ssh_host* 的文件.系统刚刚安装完成时,由于没有这些公钥,sshd会主动去计算出这些需要

mysql备份工具innobackupex,xtrabackup-2.1的原理和安装

mysql备份工具innobackupex,xtrabackup-2.1的原理和安装 http://bbs.2cto.com/read.php?tid=310496 一.Xtrabackup介绍 1.1:Xtrabackup是什么Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex1.xtraback

使用LVS实现负载均衡原理及安装配置详解

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

47 监控系统基础及zabbix介绍、zabbix工作原理及安装配置、zabbix on CentOS7、zabbix配置

02    zabbix工作原理及安装配置 配置环境 node1192.168.1.120CentOS6.7 node2192.168.1.121CentOS6.7 1.安装配置zabbix #安装前准备 [[email protected] ~]#yum -y install mysql-server mysq [[email protected] ~]# mysql mysql> CREATE DATABASE zabbix CHARACTER SET utf8; mysql> GRANT

使用 LVS 实现负载均衡原理及安装配置详解

使用 LVS 实现负载均衡原理及安装配置详解 来源:肖邦linux 发布时间:2017-02-19 阅读次数:106 0 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用

ubuntu下查询SSH状态和安装SSH服务

1.查询SSH的安装状态 rpm -qa |grep ssh 上面的命令可能出现提示说rpm未安装,可以使用下面这命令进行安装 sudo apt-get install rpm 某些帖子上也可以使用yum进行装,但是可能出现yum未安装的提示,如果yum未安装,可以使用如下命令进行安装 sudo apt-get install yum 2.安装SSH 可以使用如下任意一个命令 apt-get install ssh 或者 yum install ssh 经过上面2步后发现压根没有卵用,上面的步骤

SSH原理与运用(二):远程操作与端口转发

本问转载自  http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html SSH原理与运用(二):远程操作与端口转发 作者: 阮一峰 日期: 2011年12月23日 接着前一次的文章,继续介绍SSH的用法. ======================================= 作者:阮一峰 (Image credit: Tony Narlock) 七.远程操作 SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行

SSH原理与应用(一):远程登录

转载自http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html SSH原理与应用(一):远程登录 作者: 阮一峰 日期: 2011年12月21日 SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很多普通用户也每天使用. SSH具备多种功能,可以用于很多场合.有些事情,没有它就是办不成.本文是我的学习笔记,总结和解释了SSH的常见用法,希

第四十八课 zabbix工作原理、安装、配置入门

监控系统基础及zabbix介绍 zabbix工作原理及安装配置 zabbix配置入门 zabbix配置入门 一.监控系统基础及zabbix介绍 著名的监控工具 zabbix zennos opennms cacti nagios. cacti 收集数据.展示图表 nagios 关注状态 报警机制强 zabbix 强大的监控工具能完成数据采集.存储.展示.报警功能. zabbix 有专用的agent的监控工具,他是一个分布式的监控系统. 二.zabbix的安装(zabbix-2.4为例) 1.rp