Windows7之SSH,安装OpenSSH实现SSH客户端及服务
前言
在管理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的基础原理和详细的使用方法。