这里说的ssh,全名叫做security shell,相信经常用linux的同学不会陌生。ssh最常见的作用就是用来远程登录其他系统的命令行界面,当然主要还是给linux用户使用的。但是其实现在windows 10已经自带了openssh功能,这样一来,我们就可以在windows下安装和使用ssh的相关功能了。下面来看看怎么来安装吧。
查看系统版本
首先确定你的系统是否是windows 10 1809或者更新的系统,如果不是的话,先更新系统,把系统更新到最新状态。
查看系统版本也十分简单,打开开始菜单,选择设置,然后选择系统->关于,即可在最下面找到系统版本号。
又或者,你喜欢命令行的话,也可以从powershell运行下面的命令来查看版本号。
1
|
(get-itemproperty "hklm:\software\microsoft\windows nt\currentversion").releaseid |
安装openssh
确定了版本号,下面就来安装openssh。安装方式也很简单,还是从开始菜单进入windows设置,这次选择应用->应用和功能->可选应用->添加功能进入。
然后找到openssh服务端和客户端,安装这两项。
如果你喜欢简洁的命令行的话,同样简单,先运行下面的命令查看一下openssh功能。
1
2
3
4
5
6
7
8
9
|
# 先查看一下软件 get-windowscapability -online | ? name -like 'openssh*' # 应该会展示以下输出,注意版本号将来可能会变,安装的时候注意 name : openssh.client~~~~0.0.1.0 state : notpresent name : openssh.server~~~~0.0.1.0 state : notpresent |
然后安装它们即可。
1
2
3
4
5
6
7
8
9
10
11
|
# 安装客户端 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的服务端了。
1
2
3
4
5
6
|
get-service *|where name -like '*ssh*' status name displayname ------ ---- ----------- stopped ssh-agent openssh authentication agent stopped sshd openssh ssh server |
简单启动该服务即可。
1
|
start-service sshd |
下面就可以用openssh的客户端来连接了,直接在powershell窗口(无需管理员)中输入以下命令即可。这里需要提醒一下,如果你用的是微软账号(也就是微软邮箱)创建和登录用户的话,用户名会被截断为邮箱@
符号前面的一部分,具体来说就是你用户文件夹的名字,这也是微软做的比较坑人的一点。
1
|
ssh 你的用户名@localhost |
然后你应该就会看到命令提示符发生了变化,提示你现在已经进入到了ssh环境中。虽然这个环境还是你的本机。如果你在这个环境里运行命令,应该还会发现,这是一个cmd窗口,而不是powershell终端窗口。
使用sftp替代ftp
好吧,到这里你可能会产生一个问题,虽然这样我们成功得到了在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协议),登录即可。
到此这篇关于几步命令轻松搭建windows ssh服务端的文章就介绍到这了,更多相关搭建windows ssh服务端内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://segmentfault.com/a/1190000022248357