iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux中的ssh服务是怎样的
  • 412
分享到

Linux中的ssh服务是怎样的

2023-06-28 17:06:01 412人浏览 八月长安
摘要

linux中的ssh服务是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、什么是SSH?简单说,SSH(Secure shell Protocol)是一

linux中的ssh服务是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

一、什么是SSH?
简单说,SSH(Secure shell Protocol)是一种网络协议,用于计算机之间的加密登录。在默认状态下SSH服务提供俩个服务功能,一个是提供类似telnet远程联机服务器的服务,即SSH服务,另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务。
提醒:SSH客户端(ssh命令)包含一个很有用的远程安全拷贝命令scp,也是通过ssh协议工作的。

二、最基本的用法
ssh命令用于远程登录上Linux主机。

常用格式:ssh [-l login_name] [-p port] [user@]hostname
更详细的可以用man ssh 查看。

不指定用户,默认使用root账户登录

ssh 192.168.0.15
指定用户:

ssh -l root 192.168.0.15  ssh root@192.168.0.15
如果修改过ssh登录端口的可以:

ssh -p 521 192.168.0.15  ssh -l root -p 521 192.168.0.15  ssh -p 521 root@192.168.0.15
另外修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。(/etc/ssh/sshd_config这个文件是服务端的,/etc/ssh/ssh_config这个是客户端的,扫描端口软件nmap 安装 yum  install nmap -y 使用,nmap 跟 ip或者域名 -p 1-65535)

编辑配置文件:

vim /etc/ssh/sshd_config
找到#Port 22,去掉注释,修改成一个三位的端口:

Port 521

找到#PermitRootLogin yes,去掉注释,修改为:

PermitRootLogin no

重启sshd服务:

service sshd restart 成功重启: Stopping sshd: [ OK ]       Starting sshd: [ OK ]

三、中间人攻击
SSH之所以能够保证安全,原因在于它采用了公钥加密,整个过程是这样的:

Linux中的ssh服务是怎样的

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

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

(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

这个过程本身是安全的,但是实施的时候存在一个风险:如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。

可以设想,如果攻击者插在用户与远程主机之间(比如在公共的wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。

四、口令登录
如果你是第一次登录对方主机,系统会出现下面的提示:

$ ssh user@host   The authenticity of host 'host (12.18.429.21)' can't be established.   RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.   Are you sure you want to continue connecting (yes/no)?

这段话的意思是,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?

所谓”公钥指纹”,是指公钥长度较长(这里采用RSA算法,长达1024位),很难比对,所以对其进行MD5计算,将它变成一个128位的指纹。上例中是98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d,再进行比较,就容易多了。

很自然的一个问题就是,用户怎么知道远程主机的公钥指纹应该是多少?回答是没有好办法,远程主机必须在自己的网站上贴出公钥指纹,以便用户自行核对。

假定经过风险衡量以后,用户决定接受这个远程主机的公钥。

Are you sure you want to continue connecting (yes/no)? yes
系统会出现一句提示,表示host主机已经得到认可

Warning: Permanently added 'host,12.18.429.21' (RSA) to the list of known hosts.
然后,会要求输入密码。

PassWord: (enter password)
如果密码正确,就可以登录了。

当远程主机的公钥被接受以后,它就会被保存在文件~.ssh/known_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分,直接提示输入密码。

每个SSH用户都有自己的known_hosts文件,此外系统也有一个这样的文件,通常是/etc/ssh/ssh_known_hosts,保存一些对所有用户都可信赖的远程主机的公钥。

五、公钥登录
使用密码登录,每次都必须输入密码,非常麻烦。好在SSH还提供了公钥登录,可以省去输入密码的步骤。

所谓”公钥登录”,原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

这种方法要求用户必须提供自己的公钥。如果没有现成的,可以直接用ssh-keygen生成一个:

$ ssh-keygen
运行上面的命令以后,系统会出现一系列提示,可以一路回车。其中有一个问题是,要不要对私钥设置口令(passphrase),如果担心私钥的安全,这里可以设置一个。

运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。

这时再输入下面的命令,将公钥传送到远程主机host上面:

$ ssh-copy-id user@host
好了,从此你再登录,就不需要输入密码了。

如果还是不行,就打开远程主机的/etc/ssh/sshd_config这个文件,检查下面几行前面”#”注释是否取掉。

RSAAuthentication yes   PubkeyAuthentication yes   AuthorizedKeysFile .ssh/authorized_keys
然后,重启远程主机的ssh服务。

/etc/init.d/ssh restart
六、authorized_keys文件
远程主机将用户的公钥,保存在登录后的用户主目录的~/.ssh/authorized_keys文件中。公钥就是一段字符串,只要把它追加在authorized_keys文件的末尾就行了。

这里不使用上面的ssh-copy-id命令,改用下面的命令,解释公钥的保存过程:

$ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys'
这条命令由多个语句组成,依次分解开来看:

(1)”ssh user@host”,表示登录远程主机

(2)单引号中的mkdir .ssh && cat >> .ssh/authorized_keys,表示登录后在远程shell上执行的命令

(3)”mkdir -p .ssh”的作用是,如果用户主目录中的.ssh目录不存在,就创建一个

(4)cat >> .ssh/authorized_keys

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网操作系统频道,感谢您对编程网的支持。

--结束END--

本文标题: Linux中的ssh服务是怎样的

本文链接: https://www.lsjlt.com/news/320899.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux中的ssh服务是怎样的
    Linux中的ssh服务是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、什么是SSH?简单说,SSH(Secure Shell Protocol)是一...
    99+
    2023-06-28
  • Ubuntu是怎样开启ssh服务的
    这篇文章跟大家分析一下“Ubuntu是怎样开启ssh服务的”。内容详细易懂,对“Ubuntu是怎样开启ssh服务的”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Ubuntu是怎样...
    99+
    2023-06-28
  • Linux系统中怎样开启ssh服务
    今天就跟大家聊聊有关Linux系统中怎样开启ssh服务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。SSH服务简介:SSH是专门为远程登录会话与其他网络服务提供的一种安全性协议。通过...
    99+
    2023-06-28
  • SecureCRT key登录linux ssh设置方法是怎样的
    本篇文章给大家分享的是有关SecureCRT key登录linux ssh设置方法是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、首先用secureCrt创建密钥  ...
    99+
    2023-06-10
  • Linux中的chrony时间同步服务是怎样的
    这期内容当中小编将会给大家带来有关Linux中的chrony时间同步服务是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。对于多主机协作工作时, 时间同步显得非常的重要,时间不一致会造成很多重要应用的...
    99+
    2023-06-28
  • linux关闭ssh服务的方法是什么
    要关闭SSH服务,可以使用以下方法:1. 使用服务管理工具:可以使用systemctl命令来关闭SSH服务。在终端中输入以下命令:`...
    99+
    2023-08-11
    linux
  • linux SSH配合SecureCRT的密匙完美使用方法是怎样的
    linux SSH配合SecureCRT的密匙完美使用方法是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SSH,特别是 OpenSSH,是一个类似于 telnet ...
    99+
    2023-06-13
  • Linux开启ssh服务的步骤是什么
    在Linux中开启SSH服务的步骤如下:1. 检查是否已安装SSH服务:在终端中输入以下命令进行检查:```sudo systemc...
    99+
    2023-09-18
    Linux ssh
  • linux中samba的配置是怎样的
    linux中samba的配置是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。samba一个很强大的跨平台共享服务,在这里废话我就不多说了,直奔主题,由于部门近日招聘新员工...
    99+
    2023-06-13
  • Linux中iptables设置是怎样的
    这篇文章给大家介绍Linux中iptables设置是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.首先介绍一下指令和相关配置文件启动指令:service iptables start重启指令:service ...
    99+
    2023-06-28
  • Ubuntu下怎样开启SSH服务
    今天给大家介绍一下Ubuntu下怎样开启SSH服务。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。开启SSH目的方便远程传输文件,且速度快。SSH服务开启步骤使...
    99+
    2023-06-28
  • linux怎么查看ssh服务是否开启
    要查看Linux上的SSH服务是否开启,可以使用以下命令:1. 使用systemctl命令(适用于使用systemd管理服务的Lin...
    99+
    2023-09-07
    linux ssh
  • linux中SSH服务端口怎么修改
    这篇文章给大家分享的是有关linux中SSH服务端口怎么修改的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、首先修改配置文件vi /etc/ssh/sshd_config找到#Port 22一段,这里...
    99+
    2023-06-05
  • Linux系统自带的gssftp服务是怎样用的
    今天给大家介绍一下Linux系统自带的gssftp服务是怎样用的。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。RedHat和CentOS都自带了一个gssft...
    99+
    2023-06-28
  • linux集群中的keepalived是怎么样的
    本篇文章为大家展示了linux集群中的keepalived是怎么样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来...
    99+
    2023-06-16
  • linux怎么禁用ssh服务
    要禁用SSH服务,可以按照以下步骤操作:1. 打开终端(Terminal)。2. 使用root权限登录系统,输入以下命令并按Ente...
    99+
    2023-08-25
    linux
  • Linux怎么开启SSH服务
    今天小编给大家分享一下Linux怎么开启SSH服务的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.安装SSH 如...
    99+
    2023-06-28
  • linux怎么安装ssh服务
    要在Linux上安装SSH服务,可以按照以下步骤进行操作:1. 打开终端。2. 使用以下命令安装SSH服务器软件(OpenSSH):...
    99+
    2023-08-19
    linux
  • Linux shell中while循环是怎样的
    今天就跟大家聊聊有关Linux shell中while循环是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在shell中while循环也是一个常用的循环结构,和其他语言的语法有...
    99+
    2023-06-28
  • 阿里云服务器怎样开ssh
    如果您使用的是阿里云提供的服务器,那么可以通过以下步骤开启SSH: 打开控制台,在此处找到“Server Manager”进入。 找到“Server Manager Admin”的“Admin Manager”进入。 在该页面中找到“S...
    99+
    2023-10-27
    阿里 服务器 ssh
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作