在尝试解决在 Windows 8.1 上使用 Cygwin + SSH 的一些问题时,我想知道为什么ssh-host-config
脚本会从头开始创建两个配置 OpenSSH 的新帐户?(这有必要吗?)
这两个帐户是:cyg_server
和sshd
,使用默认选择+提权和服务安装时。我了解第一个仅用于启动Cygwin SSHd服务,但我不了解第二个的功能。我搜索了 Cygwin 档案,唯一的开发人员解释是“因为它被设计成这样做”。还建议不要将这些用于实际登录。
这是我的安装:
-----------------------------------------------------------
ssh-keygen: generating new host keys: RSA1 RSA DSA ECDSA ED25519
*** Info: Creating default /etc/ssh_config file
*** Info: Creating default /etc/sshd_config file
*** Info: Privilege separation is set to yes by default since OpenSSH 3.3.
*** Info: However, this requires a non-privileged account called 'sshd'.
*** Info: For more info on privilege separation read /usr/share/doc/openssh/README.privsep.
*** …
Run Code Online (Sandbox Code Playgroud) 我在 Windows 7 上安装了 Cygwin 和 sshd,但我无法让它工作。
我遵循了http://www.noah.org/ssh/cygwin-sshd.html的指南,但我仍然得到:
$ cygrunsrv -S sshd
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062:
The service has not been started.
Run Code Online (Sandbox Code Playgroud)
配置详情:
netstat -a -b
报告没有在端口 22 上运行C:\cygwin\var\log\sshd.log
是空的ssh-host-config -y
更新:Windows 日志抱怨 Possible duplicate cygwin1.dll
当用户通过 SSH 从我的 LAN 外部登录到我的 LAN 时,我想强制用户输入特定命令。我的想法是,ForceCommand
在Match
条件块中使用,匹配除 LAN 中的地址之外的所有地址。
我已经尝试了以下,根据man 5 sshd_config
:
Match Address !192.168.1.0/24
允许用户从任何地方执行任何命令。Match Address !192.168.*
允许用户从任何地方执行任何命令。Match !Address 192.168.*
通过sshd
拒绝启动来阻止任何命令的执行。(“模式”部分)中!
描述了使用否定模式。这如何应用于地址?man 5 ssh_config
在 Windows 上使用 Cygwin 环境是一种非常常见的自动化解决方案。
我正在寻找一个可以自动安装 cygwin 和启用 ssh 服务器的脚本。
我可以尝试写一个,但问题之一是我不知道我可以用什么来下载用于下载 cygwin 的行。
我安装了带有 SSH 服务器的 Cygwin(Windows 7)。设置后,我可以使用“ssh localhost -l [myUsername]”在本地登录。我输入我的密码。成功。
但是,尝试从另一台计算机远程通过 SSH 连接到该计算机,但始终会以“权限被拒绝”拒绝密码。没有连接问题,显然我正在连接。防火墙设置全部关闭。
为什么会发生这种情况?
我正在尝试通过笔记本电脑上的腻子连接到在我的家用计算机上的 cygwin 上运行的 ssh 服务器,这在我的网络内部和外部端口 22 上都可以正常工作,但在端口 443 上却超时。这有点问题,因为我要连接的网络阻止我使用 22。我认为这是一个端口转发问题,但我已经在我的路由器设置中设置了规则(ISP 提供了 BT HomeHub 3 类型A)但它似乎没有打开端口。非常感谢有关如何解决问题的任何想法。