我想知道是否有一种方法可以帮助我不仅自动安装 cygwin,还可以帮助我使用 cygwin 建立 OpenSSH 服务器。是否可以在一个脚本中完成?
4 回答
静默安装 cygwin openssh 和 apt-cyg:
setup -q -D -s http://mirrors.xmission.com/cygwin -l C:\cygwin -L C:\cygwin -P wget,git,git-svn,openssh
C:\cygwin\bin\wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
C:\cygwin\bin\install apt-cyg /bin
C:\cygwin\bin\mkpasswd -l > C:\cygwin\etc\passwd
C:\cygwin\bin\mkgroup -l > C:\cygwin\etc\group
C:\cygwin\bin\bash --login -c "/bin/ssh-user-config -y -p paswordforusersshd"
netsh advfirewall firewall add rule name=SSH dir=in action=allow protocol=tcp localport=22
net start sshd
我很确定它至少需要两个脚本。
cygwin 的静默安装是 可能的,但很乏味。它要求您至少部分手动完成安装过程。该链接末尾附近有一个部分“- 如果您想在运行 setup.exe 后自动配置某些内容”,您必须调整该部分以完成在 cygwin 中运行 ssh 服务器所需的安装后设置。
我使用它,专门用于您所指的任务。向下滚动到名为Deploy Cygwin and OpenSSH ...的批处理脚本
它也会自动设置公钥认证。因此,您所要做的就是将您的公钥添加到服务器的authorized_keys文件中。
我意识到这是一个已经有明确答案的老问题;但是,对于其他搜索,我想为想要一个易于使用的软件包的 Windows 管理员提供一个额外的答案,该软件包可以在 Windows 上自动安装和配置 OpenSSH 的 Cygwin 端口:
https://github.com/Bill-Stewart/CygSSH
它使用 Cygwin v3,因此不需要专用的服务帐户(该服务以 SYSTEM 身份运行)。
The intent is to provide a convenient packaging of OpenSSH and rsync that would be (relatively) convenient to install and use on Windows machines, so it has some defaults and capabilities that are more Windows-centric:
Installer supports silent installation and adding to the system path
PowerShell is the remote interactive shell (either Windows PowerShell or PowerShell Core)
It creates an SSH Users local group for authentication and sets that by default in
sshd_config
; nested groups are supported (e.g., if you want to manage the membership via GPO)It supports granting sftp-only access to accounts
It includes rsync
The package requires Windows 7 SP1/Windows Server 2008 R2 SP1 or newer. It's not a general-purpose Cygwin install; the intent is to provide an easy-to-use prepackaged OpenSSH for Windows.