前言

在管理Linux服务器的时候,通常是使用ssh客户端连接到服务器进行远程操作,或者想从服务器上操作本机,又或者是本机与服务器双向传送文件。这种情况对于本机使用的是Mac或者Linux桌面系统就很容易实现,但如果本机使用的是windows系统的话就比较麻烦,特别是使用win7系统(win10系统已自带ssh服务打开即可),这时候就急需一种方式让手上的win7系统能够支持ssh服务功能。

实现工具

在目前最好的解决办法就是给Windows安装一个ssh服务,微软已经支持openssh,所以获取并安装openssh即可满足需求。

1、获取所需的Openshh文件

微软的PowerShell团队已经支持openssh,所以安装文件我们可以在github的powershell团队项目下进行下载
下载地址: https://github.com/PowerShell/Win32-OpenSSH/releases
根据你自己的系统对应下载
在这里插入图片描述
32/64位系统都支持。
p.s. 在访问github网站的时候,可能会因为网络原因超时而无法正常访问,更别说下载了,此时需要修改网络配置,具体可见:
提升访问github.com网址的速度(https://blog.csdn.net/jerrygaoling/article/details/115184175),可完美解决。

2、安装OpenSSH

这一步非常简单,只用把下载好的压缩文件解压出来即可。
首先已经下载好OpenSSH,并且进行解压
把OpenSSH整个目录进行复制到 C:\Program Files (其实哪个目录都可以,不过建议安装在这里,免得出问题)
在这里插入图片描述

3、配置参数

单击计算机,右键 --> 属性 --> 高级系统设置 --> 环境变量–系统变量,在此框里面找到 Path 进行编辑,windows7系统编辑时候是以文本形式,所以就需要在最后先添加 “; ” 英文分号,再把你安装路径 如 C:\Program Files\OpenSSH-Win64 粘贴进去。windows 10系统添加比较方便,进到Path里面,点击-新建直接粘贴进去!
在这里插入图片描述

4、ssh测试

使用cmd命令打开dos命令行或者打开windows的PowerShell,直接输入ssh命令,可以得到命令菜单。
在这里插入图片描述
ssh的使用方法可以见Linux中使用SSH服务远程连接Linux系统,最基本用法就是ssh user@ip默认端口22,其中user是用户名,ip是访问的目的地址。
首次连接未知主机会有是否继续的警告,输入yes就可以了,然后输入密码即可。
到此: ssh客户端就可以正常使用了,但是想要让本机成为ssh服务被远程访问的话,还需要后续操作。

分割线


5、发布ssh服务

打开系统CMD界面依次执行一下命令

1)安装sshd服务

powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

2)开放22号端口(如果你在windows关闭了防火墙并配置了入站规则可以不执行如下命令,多执行不影响)

netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

3)配置开机自启sshd服务

sc config sshd start= auto

4) 开启服务

net start sshd

第一次安装完服务之后还需要手动打开一下服务,后面配置过自启之后就不用管了。

5)验证一下端口

打开cmd,使用netstat -an命令查看一下本机的22端口是否被监听。
在这里插入图片描述
要是如上图看到22端口被监听着,恭喜你,ssh服务搞定了。可以通过其他服务器连接下本机。

6、免密访问

ssh出于安全考虑,每次连接都会提示输入密码,要是本机一直都是自己使用的话,也可以生成秘钥,之后就不用每次输入密码了。

1) 生成密钥对命令

ssh-keygen -t rsa
在这里插入图片描述

2) 配置公钥

将公钥传到远程主机的~/.ssh目录下
在这里插入图片描述
名字改成authorized_keys

3)修改远程主机sshd_config配置

PubkeyAuthentication yes

StrictModes no

完成所有配置之后,重启sshd服务
在这里插入图片描述
此时就可以愉快的免密访问了。

7、ssh的使用方式

写在最后,具体的ssh使用方式详见Linux中使用SSH服务远程连接Linux系统,其中讲解了ssh的基础原理和详细的使用方法。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐