windows安装sshd服务

 

Windows安装OpenSSH服务

下载地址, Win32-OpenSSH

下载并解压OpenSSH-Win64.zip文件, 如解压到C:\Program Files\OpenSSH

管理员权限打开powershell, 进入解压文件夹, 安装方法参考Install Win32 OpenSSH

# 安装
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
# 创建防火墙规则
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
# 低版本windows的请使用
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

# 启动
net start sshd
#修改为自动启动
Set-Service sshd -StartupType Automatic

卸载

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

配置sshd_config

文件位置 %programdata%\ssh\sshd_config

# 端口号:
Port 22
# 密钥访问:
PubkeyAuthentication yes
# 密码访问 禁用:
PasswordAuthentication no
# 空密码 禁用:
PermitEmptyPasswords no

配置authorized_keys信任的公钥

v7.7.2.2开始, %programdata%/ssh/administrators_authorized_keys, 以前版本文件位置%userprofile%/.ssh/authorized_keys

如果还是使用%userprofile%/.ssh/authorized_keys文件

修改sshd_config

# 注释掉以下两行
Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

使用其他shell启动

参考

使用powershell

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShellCommandOption -Value "/c" -PropertyType String -Force

使用cmder作为默认的shell

下载cmder, 下载地址, 解压到到指定位置, 如 c:\ls\cmder

$cmderpath="c:\ls\cmder"
$cmderstartshell="$cmderpath\start-cmder.bat"
$cmderinit="$cmderpath\vendor\init.bat"
$value="
@echo off
cmd.exe /k $cmderinit
"

set-content -path $cmderstartshell -value $value

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "$cmderstartshell" -PropertyType String -Force

安装内网穿透

参考frp

参考以下用法配置windows服务

# 使用nssm安装frpc服务
nssm install frpc

# 修改 application
# path: <fullpathname>\frpc.exe
# arguments: -c frpc.ini

# 启动服务
net start frpc

nssm做系统服务

官网, 下载地址nssm-2.24-101-g897c7ad.zip

输入nssm install <服务名>,按回车进入到设置界面

Service name:服务名
Application:应用**
Path:设置为服务启动的文件路径 (点击…选择路径)
Startup directory:启动目录 (Path选好后会自带出来)
Arguments:参数 (可不设)
Details:详情
    Display name:显示名称
    Dsecription:描述
    Startup type:启动类型
        Automatic-自动
        Automatic(Delayed Start)-自动(延迟启动)
        Manual-手动 
        Disabled-禁用
I/O:
    Input(stdin):输入日志位置 (可不设)
    Output(stdout):输出日志位置
    Error(stderr):错误日志位置

nssm常见用法

nssm install <服务名> 安装服务
nssm remove <服务名> 删除服务
nssm remove <服务名> confirm 删除服务确定
nssm edit <服务名> 修改服务(显示界面修改)
nssm start <服务名> 启动服务
nssm stop <服务名> 停止服务
nssm restart <服务名> 重启服务

参考