这里说的SSH,全名叫作Security Shell,相信常常用Linux的同窗不会陌生。SSH最多见的做用就是用来远程登陆其余系统的命令行界面,固然主要仍是给Linux用户使用的。可是其实如今Windows 10已经自带了OpenSSH功能,这样一来,咱们就能够在Windows下安装和使用SSH的相关功能了。下面来看看怎么来安装吧。shell
首先肯定你的系统是不是Windows 10 1809或者更新的系统,若是不是的话,先更新系统,把系统更新到最新状态。安全
查看系统版本也十分简单,打开开始菜单,选择设置,而后选择系统->关于,便可在最下面找到系统版本号。服务器
又或者,你喜欢命令行的话,也能够从powershell运行下面的命令来查看版本号。ssh
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId
肯定了版本号,下面就来安装OpenSSH。安装方式也很简单,仍是从开始菜单进入Windows设置,此次选择应用->应用和功能->可选应用->添加功能进入。加密
而后找到OpenSSH服务端和客户端,安装这两项。spa
若是你喜欢简洁的命令行的话,一样简单,先运行下面的命令查看一下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
而后安装它们便可。code
# 安装客户端 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功能了。blog
下面打开管理员权限的powershell窗口,此次输入下面的命令来查看刚刚安装的OpenSSH服务,下面的sshd就是OpenSSH的服务端了。rem
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终端窗口。
好吧,到这里你可能会产生一个问题,虽然这样咱们成功获得了在Windows上运行的OpenSSH服务端,可是它有什么用呢?这个问题问的很好,坦白来讲,其实它确实没什么用,可是若是对比来讲的话,倒是FTP的完美替代产品。
FTP你们应该常常用的吧。我原来就很是喜欢在Windows上开一个IIS服务器,用它来建立FTP服务器来传输文件。相信不少人都会这样用的。可是FTP做为一个老协议,最大的问题就是没有加密,全部流量都是公开传输的,很容易被截获并读取。这时候最好用SFTP来替代,虽然它名字很接近,可是其实和FTP没有任何关系,由于SFTP是基于刚刚介绍的SSH协议的。
那么SFTP怎么用呢?其实很简单,咱们刚刚搭建好的OpenSSH服务端自带SFTP支持,因此如今就已经搭建好了SFTP了。用法很简单,打开FileZilla或者WinSCP这样的FTP客户端软件,打开协议的下拉列表,就能够看到SFTP这个选项。只须要用鼠标轻轻一点这个选项,咱们就得到了安全、加密、高效的传输协议!
另外,若是你是Linux用户,也不要再Linux上面安装vsftpd这类FTP服务端了,一样不安全,还画蛇添足。直接用你SSH登陆Linux的用户名和密码,随便找一个FTP客户端软件(基本都支持SFTP协议),登陆便可。