Windows安装openssh失败——解决思路

chowhound3 2024-07-11 12:07:04 阅读 61

Linux服务器通过ssh连接windows服务器失败。Windows安装openssh遇到的问题及一些解决思路。

背景

因工作需要,用Linux系统搭建Jenkins自动化构建(仅供前端项目使用)。Jenkins搭建并构建好,来到远程发布部署这一步,刚好手上还有一台Windows系统的测试服务器。并有一端口已经映射好,专供我测试部署项目使用。结果在配置ssh时,出现链接失败。Windows服务器之前通过教程安装过OpenSSH(其实就是瞎搞,客户端安装成功,服务端没成功)。

在这里插入图片描述

心路历程

在默认ssh已经安装了的前提下,开始找原因。

作为前端开发人员,对服务器、网络等一窍不通,属实有些惭愧。询问后端小伙伴,一口咬定没开端口。便着力于寻找如何开端口。查了下,需要防火墙建入站规则开22端口。

一顿操作后发现,防火墙根本没有打开过。

知识点1:防火墙没有打开,默认可访问所有端口

使用下面命令,通了,发现是存在22端口的。

<code>telnet [ip地址] 22

查看ssh服务状态,服务已启动(其实启动的是客户端,但此时的我以为启动了服务端)

net start sshd

有22端口,为什么连不上呢。再看Windows服务器安装OpenSSH的教程,怎么这些步骤没有经历过。目标放在了安装上。应该是安装出问题,看文章有两个命令net start sshdnet start opensshd。使用net start sshd开启服务,使用net start opensshd,启动服务失败。经查验

知识点2

ssh默认22端口

ssh存在客户端服务端

客户端:想连其它服务器

服务端:想被其他服务器连

知识点3

开启客户端命令: net start sshd

开启服务端命令:net start opensshd

这下原因找到了,ssh服务端根本没启动。根据教程重新安装了一遍,输入启动命令,成功!

在Linux服务器输入连接命令(使用用户名密码连接),连接Windows服务器成功!

ssh username@hostname

其它知识点

在查验过程还发现了一些知识点,下面列举一下:

知识点4

Windows服务器检查端口命令:netcat -an

该命令会显示当前开放的端口以及应用程序占用的端口号情况

知识点5

ssh自己连自己:ssh 127.0.0.1

ssh通过连自己,可以测试能不能发起ssh连接,如果没有进入输入密码界面。表示不能发起连接。

遇到但未解决的问题

其实在安装openssh过程中,遇到了几个问题没能解决,如果知道原因的或者找到解决方案的大佬们可以评论区告知一下,感谢。

问题一:使用Window 设置安装不了ssh服务端,原因不明;

在这里插入图片描述

问题二:使用PowerShell 来安装不了ssh服务端,安装失败,找了几篇文章都解决不了,最后换一种安装方法;

在这里插入图片描述

问题三:根据第一种教程安装,只有服务端安装成功

之前下载OpenSsh安装包安装OpenSsh,当时我以为执行<code>ssh -V能查到版本号,使用net start sshd命令显示启动服务成功就是ssh服务端安装成功;现在看来只有客户端安装成功了。删除ssh相关文件夹后。根据上述的安装文章重新安装,并且选择了安装客户端和服务端,发现只有服务端成功安装了。最后为了让客户端和服务端都能使用。我两种安装模式都使用了。

第一种:教程

通过下载安装包。根据教程安装。这种方式能成功安装服务端,但是客户端用不了

在这里插入图片描述

第二种(最初安装):

通过GitHub ,下载安装包

在这里插入图片描述

参考此文章:https://blog.csdn.net/qq_33594636/article/details/128849482

写到这里,我发现我使用此安装方法并没有按照教程操作,而是跳过了安装服务端步骤。进行这样的操作:下载安装包->解压->在此路径打开终端->执行下面命令。

<code>powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

由此,我得到了一个ssh客户端【哭笑不得】



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。