ssh原理andssh远程登录

author author     2023-04-06     138

关键词:

参考技术A

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。

SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文主要介绍OpenSSH免费开源实现在Ubuntu中的应用,如果要在Windows中使用SSH,需要使用另一个软件PuTTY。

SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。

传统的网络服务程序,如FTP、Pop和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。

但并不是说SSH就是绝对安全的,因为它本身提供两种级别的验证方法:

第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人攻击”这种方式的攻击。

第二种级别(基于密钥的安全验证):你必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公钥,然后把它和你发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。与第一种级别相比,第二种级别不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。

SSH分为客户端 openssh-client 和服务器 openssh-server,可以利用以下命令确认电脑上是否安装了客户端和服务器。

如果只是想远程登陆别的机器只需要安装客户端(Ubuntu默认安装了客户端),如果要开放本机的SSH服务就需要安装服务器。

首先确认ssh-server是否已经启动了

如图,sshd 表示ssh-server已经启动了。如果没有启动,可以使用如下命令启动:

停止和重启ssh服务的命令如下:

接下来就可以进行使用客户机远程登录服务器了~

口令登录非常简单,只需要一条命令,命令格式为: **ssh 客户端用户名@服务器ip地址 **eg:

如果需要 调用图形界面程序 可以使用 -X 选项

如果客户机的用户名和服务器的 用户名相同 ,登录时 可以省略 用户名。

还要说明的是,SSH服务的 默认端口是22 ,也就是说,如果你不设置端口的话登录请求会自动送到远程主机的22端口。我们可以使用** -p 选项来修改端口号**,比如连接到服务器的1234端口:

客户机必须要知道服务器的 ip地址 。可以在服务器端电脑上利用** ifconfig** 命令查看该机的ip地址:

如果是第一次登录远程主机,系统会给出下面提示:

意思是,该远程主机的真实性无法确定,其公钥指纹为 SHA256:s8pZiuKQr7k7f+57j22lk/IdWC8143VQKR+EabeP5,确定想要继续连接吗?

输入yes 即可。这时系统会提示远程主机被添加到已知主机列表。

然后会要求我们输入 远程主机的密码 ,输入的密码正确就可以成功登录了。命令提示符会修改为远程主机的提示符,现在开始,终端中输入的命令都将在服务器中执行。

我们可以通过** Ctrl+D** 或者 exit 命令 退出远程登录

每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性。

1、在本机生成密钥对

使用ssh-keygen命令生成密钥对:

ssh-keygen -t rsa #-t表示类型选项,这里采用rsa加密算法
然后根据提示一步步的按enter键即可(其中有一个提示是要求设置私钥口令passphrase,不设置则为空,这里看心情吧,如果不放心私钥的安全可以设置一下),执行结束以后会在 /home/当前用户 目录下生成一个 .ssh 文件夹,其中包含私钥文件 id_rsa 和公钥文件 id_rsa.pub。

2、将公钥复制到远程主机中

使用ssh-copy-id命令将公钥复制到远程主机。ssh-copy-id会将公钥写到远程主机的 ~/ .ssh/authorized_key 文件中

ssh-copy-id ldz@192.168.0.1
经过以上两个步骤,以后再登录这个远程主机就不用再输入密码了。

1)已获取登录实例的管理员帐号及密码(或密钥)。
2)云服务器实例已开通22号端口。

—使用密码登录

Host Name(or IP address) :服务器的IP地址;
Port :服务器的端口,必须设置为22;
Connect type :选择 “SSH”;
Saved Sessions :填写会话名称,例如 test。 配置 “Host Name” 后,再配置 “Saved Sessions” 并保存,则后续使用时您可直接双击 “Saved Sessions” 下保存的会话名称即可登录服务器;

登录完成后,命令提示符左侧将显示当前登录云服务器的信息。

—使用密钥登录

Ps: 当不存在私钥文件时,可以选择Conversions > Import key 导入公钥(.pem)文件来生成私钥文件(.ppk)

Host Name (IP address) :服务器的IP;
Port :服务器的端口,必须填 22;
Connect type :选择 “SSH”;
Saved Sessions :填写会话名称,例如 test。 配置 “Host Name” 后,再配置 “Saved Sessions” 并保存,则后续使用时您可直接双击 “Saved Sessions” 下保存的会话名称即可登录服务器;

登录完成后,命令提示符左侧将显示当前登录服务器的信息。

09ssh原理与远程登录实现方式(代码片段)

一、什么是SSH?  SSH是一种网络协议,用于计算机之间的加密登录。使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。 二、LInux下的基本用法  SSH用于远程登陆... 查看详情

ssh远程登录原理与运用

SSH是每一台Linux电脑的标准配置。 随着Linux设备从电脑逐渐扩展到手机、外设和家用电器,SSH的使用范围也越来越广。不仅程序员离不开它,很多普通用户也每天使用。 SSH具备多种功能,可以用于很多场合。有些事情,... 查看详情

浅谈远程登录时,ssh的加密原理

...式主要有两种:1、基于用户密码的登录方式: 加密原理: 当服务器知道用户请求登录时,服务器会把自己的公钥发给用户,ssh会将服务器的公钥存放在客户端的~/.ssh/known_hosts文件下,用户会根据服务器给它发的公钥进... 查看详情

ssh原理与运用:远程登录

SSH是每一台Linux电脑的标准配置。随着Linux设备从电脑逐渐扩展到手机、外设和家用电器,SSH的使用范围也越来越广。不仅程序员离不开它,很多普通用户也每天使用。SSH具备多种功能,可以用于很多场合。有些事情,没有它就... 查看详情

ssh.asdm接入原理与运用:远程登录

思路及实验步骤一.内网获取外网配置:ciscoasa(config)# intg0ciscoasa(config-if)# noshutdownciscoasa(config-if)# nameifinsideciscoasa(config-if)# ipadd192.168.1.254255.255.255.0ciscoasa(config-if)#&nb 查看详情

ssh无密码登录的原理及配置

 一、SSH概念(百度)SSH为SecureShell的缩写,由IETF的网络小组(NetworkWorkingGroup)所制定;SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防... 查看详情

ssh原理与运用:远程操作与端口转发

SSH原理与运用(二):远程操作与端口转发作者:阮一峰(Imagecredit:TonyNarlock)七、远程操作SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作。上一节的操作,就是一个例子:  $ssh[email protected]‘mkdir-p.ssh... 查看详情

远程登录ssh免密码

...现在想要让ServerA不用输入密码就能够进行访问。方法和原理:我们使用ssh-keygen在ServerA上生成private和public密钥,将生成的public密钥拷贝到远程机器ServerB上后,就可以使用ssh命令无需密码登录到另外一台机器ServerB上。在linux系统中... 查看详情

ssh公钥登录原理

在平时工作中我们经常要远程登录服务器,这就要用到SSH协议:$ssh[email protected]主要有两种登录方式:第一种为密码口令登录,第二种为公钥登录密码口令登录  通过密码进行登录,主要流程为:    1、客户端连接上... 查看详情

ssh连接原理及ssh-key讲解(代码片段)

一、远程连接的两种方式1、telnet明文连接,不安全。连接方式:telnet加IP加端口号(可判断对方的某个端口是否开启) 2、ssh加密连接,安全。连接方式:ssh加IP对方22端口必须是开启状态 可指定登录的用户,不指定默认... 查看详情

万字详解ssh(ssh登录原理+ssh配置+模拟实现ssh免密登录)(代码片段)

...4)中间人攻击2.环境准备3.SSH基于用户名密码的认证原理4.小结二、模拟SSH服务搭建1.搭建思路2.VMware环境准备3.通过jumpserver和realserver搭建SSH服务器1.关闭防火墙和SELinux2.配置yum源3.配置静态ip1)JumpServer网卡配置2)RealSe... 查看详情

ssh原理记录

一、什么是SSH?简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候... 查看详情

ssh原理图解

...此很不安全,很容易受到黑客发起的中间人攻击。SSH工作原理对数据加密的方式有两种:对称加密(密钥加密)非对称加密(公钥加密)对称加密就是加密解密共用一套密钥,如图:对称加密加密强度高,但是由于由于Client端众... 查看详情

ssh免密登录(代码片段)

ssh免密登录:原理:通过密钥认证登录,首先在自己的服务器上生成公钥和私钥,其次将公钥上传到远程服务中,在于远程服务器建立连接通信时,远程服务器首先会验证该服务器上是否包含请求服务器的公钥,若不包含则需要... 查看详情

ssh免密码登陆及其原理

参考技术A[TOC]ssh无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面以CentOS为例。有机器A(192.168.64.21),B(192.168.64.22)。目标:A通过ssh免密码登录到B特意强调,使用参数可以省去生成公钥/私钥的回车步骤... 查看详情

ssh免密码登陆及其原理

参考技术A[TOC]ssh无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面以CentOS为例。有机器A(192.168.64.21),B(192.168.64.22)。目标:A通过ssh免密码登录到B特意强调,使用参数可以省去生成公钥/私钥的回车步骤... 查看详情

ssh免密登录(代码片段)

...麻烦,使用公钥登录可以省去输入密码的步骤。公钥登录原理:用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行... 查看详情

计算机网络基础|图解ssh原理

本文目录初见SSHSSH工作原理SSH实践总结1.远程Server收到Client端用户TopGun的登录请求,Server把自己的公钥发给用户。2.Client使用这个公钥,将密码进行加密。3.Client将加密的密码发送给Server端。4.远程Server用自己的私钥,解密登录密... 查看详情