Windows使用ssh连接服务器运维(本地网络操作等效服务器操作)

因为安全原因,服务器需要尽量少地开放对外端口,一般使用ssh来维护服务器,我是习惯给服务器安装宝塔面板然后开放8888端口来进行管理,在印象中宝塔好像没出过什么安全问题(记得好像只有一个已登录用户才能利用的漏洞),其实可以利用ssh来创建连接及流量转发,这样服务器上能访问的服务或网络,本地电脑搭上这个ssh通道也能访问对应服务或网络。典型的场景就是 mysql、redis等只允许服务器内网访问的服务,走ssh通道后本地电脑也能进行访问。当然如果有些内部业务网站对来源ip做了限制的话也可以 ssh到允许访问的服务器后进行访问。

本文就简单介绍下相关过程吧!

一、windows10 安装高版本ssh

我电脑win10上的openssh版本有点低(ssh -V 可以查看),可以到https://github.com/PowerShell/Win32-OpenSSH/releases 下载对应版本,我下的是压缩版OpenSSH-Win64.zip,然后解压后把所有文件覆盖到之前存放ssh.exe的目录C:\Program Files\OpenSSH\bin。如果不确定可以自己随便放个文件夹也是可以用(路径不要有中文、不要出现空格),不一定要配置环境变量。

在解压后的文件夹空白地方 按住shift 然后鼠标右键可以选择“在此处打开命令窗口”,也可以在文件地址栏里面输入 cmd 然后回车,都可已打开DOS窗口。

注意cmd和powershell运行目录下ssh.exe的区别,我电脑之前可能装多了,上面图片中ssh环境变量有多个路径,另一个路径我没法覆盖提示文件占用,所以就直接指定ssh.exe来运行。在cmd窗口中运行ssh 会先自动查找当前文件下是否存在ssh.exe程序,如果没有才会去环境变量里面查。

二、打通SSH 链接

1、服务器配置ssh

服务器开了ssh配置后能连接就行,简单点可以直接在宝塔面板操作,配置完下载密钥,记得开放相关端口,不建议开密码登录,如果开的话密码长度12位复杂密码,然后打开下面的Fail2ban安全防护防止暴力破解。

下载后的文件放到一个特定的地方(我没有放.ssh这种目录),然后可能需要处理下windows权限。

2、处理下载的密钥文件

右键文件——属性,切换到 安全 ——高级(禁用继承 – 从此对象中删除所有已继承的权限)

然后【添加 —— 选择主体,输入用户名确认后,勾选 完全控制 确认保存】

3、使用SSH进行动态端口转发

为了省事我这里直接指定密钥开启socket5。配置参数参考 密钥文件路径 D:\soft\xxx.176_id_ed25519,端口9980,ssh用户名root,服务器ip 114.114.114.114)

ssh -i D:\soft\xxx.176_id_ed25519 -D 9980 -N -v root@114.114.114.114

现在只需要在应用上设置socket5代理为127.0.0.1:9980就可以把请求传到服务器进行转发了,比如我在火狐设置代理后就可以使用服务器内网ip访问宝塔面板。

PS:如果是其他应用程序想要让程序的请求流量经过本地这个socket5,可以使用Proxifier等软件来进行设置管理。

4、使用SSH进行固定端口转发

另外也可以直接进行端口转发,来访问mysql或问服务,下面指令意思是本地电脑的8889端口转发到服务器可访问的172.20.0.171的8888端口(实际是我宝塔面板的web地址)

ssh -L 8889:172.20.0.171:8888 -i D:\soft\xxx.176_id_ed25519  -N -v root@114.114.114.114

这种端口转发适用于直接访问服务,本地电脑访问127.0.0.1:8889流量会被服务器转发,表面看起来我访问的是本机127.0.0.1的端口地址。

染卷

本站文章也会定期同步到微信公众号,可以关注下避免错过~

建站 11年 287天
微信公众号

发表评论