美文网首页野生技术宅协会
几步命令轻松搭建Windows SSH服务端

几步命令轻松搭建Windows SSH服务端

作者: 乐百川 | 来源:发表于2020-04-02 23:55 被阅读0次

    这里说的SSH,全名叫做Security Shell,相信经常用Linux的同学不会陌生。SSH最常见的作用就是用来远程登录其他系统的命令行界面,当然主要还是给Linux用户使用的。但是其实现在Windows 10已经自带了OpenSSH功能,这样一来,我们就可以在Windows下安装和使用SSH的相关功能了。下面来看看怎么来安装吧。

    查看系统版本

    首先确定你的系统是否是Windows 10 1809或者更新的系统,如果不是的话,先更新系统,把系统更新到最新状态。

    查看系统版本也十分简单,打开开始菜单,选择设置,然后选择系统->关于,即可在最下面找到系统版本号。


    系统版本号

    又或者,你喜欢命令行的话,也可以从powershell运行下面的命令来查看版本号。

    (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId
    

    安装OpenSSH

    确定了版本号,下面就来安装OpenSSH。安装方式也很简单,还是从开始菜单进入Windows设置,这次选择应用->应用和功能->可选应用->添加功能进入。


    可选应用

    然后找到OpenSSH服务端和客户端,安装这两项。


    安装OpenSSH

    如果你喜欢简洁的命令行的话,同样简单,先运行下面的命令查看一下OpenSSH功能。

    # 先查看一下软件
    Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
    
    # 应该会展示以下输出,注意版本号将来可能会变,安装的时候注意
    
    Name  : OpenSSH.Client~~~~0.0.1.0
    State : NotPresent
    Name  : OpenSSH.Server~~~~0.0.1.0
    State : NotPresent
    

    然后安装它们即可。

    # 安装客户端
    Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
    
    # 安装服务端
    Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
    
    # 它们的输出应该类似下面这样
    
    Path          :
    Online        : True
    RestartNeeded : False
    

    结果和图形界面安装的完全相同。不管采用哪种方式,你现在都拥有了OpenSSH功能了。

    启动SSH服务端

    下面打开管理员权限的powershell窗口,这次输入下面的命令来查看刚刚安装的OpenSSH服务,下面的sshd就是OpenSSH的服务端了。

    Get-Service *|where Name -Like '*ssh*'
    
    Status   Name               DisplayName
    ------   ----               -----------
    Stopped  ssh-agent          OpenSSH Authentication Agent
    Stopped  sshd               OpenSSH SSH Server
    

    简单启动该服务即可。

    Start-Service sshd
    

    下面就可以用OpenSSH的客户端来连接了,直接在powershell窗口(无需管理员)中输入以下命令即可。这里需要提醒一下,如果你用的是微软账号(也就是微软邮箱)创建和登录用户的话,用户名会被截断为邮箱@符号前面的一部分,具体来说就是你用户文件夹的名字,这也是微软做的比较坑人的一点。

    ssh 你的用户名@localhost
    

    然后你应该就会看到命令提示符发生了变化,提示你现在已经进入到了SSH环境中。虽然这个环境还是你的本机。如果你在这个环境里运行命令,应该还会发现,这是一个cmd窗口,而不是powershell终端窗口。

    SSH环境

    使用SFTP替代FTP

    好吧,到这里你可能会产生一个问题,虽然这样我们成功得到了在Windows上运行的OpenSSH服务端,但是它有什么用呢?这个问题问的很好,坦白来说,其实它确实没什么用,但是如果对比来说的话,却是FTP的完美替代产品。

    FTP大家应该经常用的吧。我原来就非常喜欢在Windows上开一个IIS服务器,用它来创建FTP服务器来传输文件。相信很多人都会这样用的。但是FTP作为一个老协议,最大的问题就是没有加密,所有流量都是公开传输的,很容易被截获并读取。这时候最好用SFTP来替代,虽然它名字很接近,但是其实和FTP没有任何关系,因为SFTP是基于刚刚介绍的SSH协议的。

    那么SFTP怎么用呢?其实很简单,我们刚刚搭建好的OpenSSH服务端自带SFTP支持,所以现在就已经搭建好了SFTP了。用法很简单,打开FileZilla或者WinSCP这样的FTP客户端软件,打开协议的下拉列表,就可以看到SFTP这个选项。只需要用鼠标轻轻一点这个选项,我们就获得了安全、加密、高效的传输协议!

    SFTP选项

    另外,如果你是Linux用户,也不要再Linux上面安装vsftpd这类FTP服务端了,同样不安全,还多此一举。直接用你SSH登录Linux的用户名和密码,随便找一个FTP客户端软件(基本都支持SFTP协议),登录即可。

    相关文章

      网友评论

        本文标题:几步命令轻松搭建Windows SSH服务端

        本文链接:https://www.haomeiwen.com/subject/kzhqphtx.html