
Windows搭建sshd服务与.net的运用
下载win sshd
当前最新包连接: https://github.com/PowerShell/Win32-OpenSSH/releases/tag/v8.1.0.0p1-Beta
安装win sshd
下载好后将最新内容提取到
C:\Program Files\OpenSSH
目录下。
注意确保二进制位置仅对SYSTEM,管理员组具有写权限。经过身份验证的用户应该并且仅具有读取和执行。
随后在Powershell控制台转到
openssh
目录下,运行以下命令
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
打开sshd.exe的防火墙,以允许入站SSH连接
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
注意:New-NetFirewallRule仅适用于Windows 2012及更高版本的服务器。如果您使用的是客户端台式机(例如Windows 10)或Windows 2008 R2及更低版本,请尝试:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
启动sshd(如果尚不存在,则会在%programdata%\ ssh下自动生成主机密钥)
net start sshd
其他
要配置指定Shell进行执行,可以参考如下文章:
https://github.com/PowerShell/Win32-OpenSSH/wiki/DefaultShell设置sshd服务以自动启动
Set-Service sshd -StartupType Automatic
卸载sshd
- 以管理员身份启动Windows Powershell
- 导航到OpenSSH目录
cd 'C:\Program Files\OpenSSH'
- 运行卸载脚本
powershell.exe -ExecutionPolicy Bypass -File uninstall-sshd.ps1
.Net SSH 包的运用
创建项目后,安装
SSH.NET
包
Install-Package SSH.NET -Version 2020.0.1
添加如下代码进行测试
using (var sshClient = new SshClient("host", port(default 22), "username", "pwd"))
{
sshClient.Connect();
using (var cmd = sshClient.CreateCommand("ls -l"))
{
var res = cmd.Execute();
Console.Write(res);
}
}
注意连接windows默认是cmd控制台,所以可以进行dir
命令进行测试.
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价
排名
2
文章
633
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 :
好是好,这个对效率影响大不大哇,效率高不高
一个bug让程序员走上法庭 索赔金额达400亿日元
剑轩 : 有点可怕
ASP.NET Core 服务注册生命周期
剑轩 :
http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术