当前位置: 澳门新濠3559 > 操作系统 > 正文

下面简要介绍一下如何在Cygwin上面配置SSH服务,

时间:2019-10-07 14:47来源:操作系统
用了一段时间的MONO,现在MONO也支持了ENTITY FRAMEWORK6。但是实际上在LINUX环境里用MYSQL还是会有很多坑。并且之前在网络游戏服务端SCUT上扩展一些功能时候也遇到了一些因为MONO和.NET行为

用了一段时间的MONO,现在MONO也支持了ENTITY FRAMEWORK 6。但是实际上在LINUX环境里用MYSQL还是会有很多坑。并且之前在网络游戏服务端SCUT上扩展一些功能时候也遇到了一些因为MONO和.NET行为方式不一致的坑耗掉了不少时间。使用mono虽然可以节约性能开销,但是牺牲掉了windows套件本身的便利。微软开发工具的优势本来就在开发时候的方便,因此想开发的爽的话,还是老实用WINDOWS SERVER和SQL SERVER好了。而且windows server似乎也有无桌面的运行模式,具体怎么用试验过了再来发文吧。

使用VNC SSH建立安全的远程桌面访问WINDOWS服务器,vncssh

用了一段时间的MONO,现在MONO也支持了ENTITY FRAMEWORK 6。但是实际上在LINUX环境里用MYSQL还是会有很多坑。并且之前在网络游戏服务端SCUT上扩展一些功能时候也遇到了一些因为MONO和.NET行为方式不一致的坑耗掉了不少时间。使用mono虽然可以节约性能开销,但是牺牲掉了windows套件本身的便利。微软开发工具的优势本来就在开发时候的方便,因此想开发的爽的话,还是老实用WINDOWS SERVER和SQL SERVER好了。而且windows server似乎也有无桌面的运行模式,具体怎么用试验过了再来发文吧。

windows的远程桌面只有用户名密码的方式登录,安全性并不高,不过LINUX上方便的工具很多都有WINDOWS的移植版本了。

这次使用了SecureCRT和RealVNC服务端和Cygwin在windows server服务器上搭建了使用RSA秘钥文件加密登录和SSH加密信道的远程桌面。

首先是服务端的配置:

首先在cygwin网站上下载最新版的cygwin,根据机器的CPU和操作系统类型:

图片 1

下一步到如下界面设置CYGWIN安装到的目录,这里也是在cygwin控制台里根路径对应的位置:

图片 2

这里是下载的包的缓存,增加软件包的时候需要重新运行安装程序:

图片 3

 选择安装源,最上面的源应该是最新的,国内也有一些镜像但是有些软件包似乎版本不是最新还有缺失。推荐使用网易的源,在我这里速度很快:

163的镜像: 

在下面粘贴后ADD即可

图片 4

 

这里搜索openssh,git, bash-completion以及bash-compelion-devel

图片 5

 搜索后点击前面的skip或者default改成要安装的版本号

 图片 6

选好所需软件包之后一直下一步等待安装。

cygwin安装成功后, 在管理员特权下执行bash终端. 我们先对git server端进行设置. 执行ssh-host-config, 接下来脚本会引导用户进行设定. 1. *** Query: Should StrictModes be used? (yes/no)
 这里选择yes 2. *** Query: Should privilege separation be used? (yes/no)  这里选择yes, Cygwin会为我们建立一个特殊的windows账户用来执行sshd服务. 3. *** Query: Do you want to install sshd as a service?
    *** Query: (Say "no" if it is already installed as a service) (yes/no)  选择yes, 会注册一个sshd的服务, 以执行server. 4. *** Query: Enter the value of CYGWIN for the daemon: []
 这里写ntsec 5. *** Info: This script plans to use 'cyg_server'.
*** Info: 'cyg_server' will only be used by registered services.
*** Query: Do you want to use a different name? (yes/no)
 Cygwin要建立一个cyg_server账户以运行sshd服务, 这里可以选择为该账户另取名字或者使用default. 我们选择no. 6. *** Query: Create new privileged user account 'DMC-PCcyg_server' (Cygwin name: 'cyg_server')? (yes/no)
 yes, 确定建立账户. 之后输入密码, 完成config.   设定完毕后, 在/etc下面多出来一个sshd_config文件, 打开该文件, 将如下item的注释取消, RSAAuthentication              yes PubkeyAuthentication         yes 新版的openssh原配置文件可能并没有RSAAuthentication这行,我是自己加上了它,还没测试是否对使用有影响。 openSSH配置完毕之后,在cygwin终端输入: net stop sshd net start sshd 即可重启sshd服务。如果出现了什么错误,可以到服务端windows事件日志里查看错误详细信息。   秘钥可以在服务端生成,不过我更习惯用SecureCRT生成: SecureCRT的安装破解这里就先不赘述了,连接的时候使用服务器ip和windows的用户名: 图片 7 选中publickey然后单击properties,进入公钥设置界面,这里可以生成公钥: 图片 8

点击Create Identity File创建公钥,key type选择RSA Passphrase可以不填 key length 1024或者2048都可以。

图片 9

 选择OpenSSH类型的秘钥,保存在自己电脑安全的位置(不要共享出去的地方):

图片 10

登陆时候选择公钥并且登陆过程会自动读取公钥同目录下无扩展名的私钥,因此不要改名或者移动私钥

这样设置完成后秘钥对生成完毕,服务器上只需要保存公钥,即有pub扩展名的文件。

直接在这里upload到服务器总是失败,我后来是使用secureFX上传公钥到服务器上,位置是~/.ssh/authorized_keys 每个用户自己的文件夹下都有各自的公钥文件,多个公钥使用>>操作符追加到authorized_keys文件即可。

现在去掉SecureCRT的客户端密码登陆方式,尝试秘钥文件登陆成功后在服务器上把/etc/sshd_config这一行注释解除并设置为PasswordAuthentication no关闭服务器密码认证   随后打开SecureCRT连接属性,如下把5900端口添加到端口映射 图片 11

 

在服务端安装RealVNC Server

 在服务里把VNC Server改成手动启动 然后创建一个批处理用于启动VNC服务:

net stop winvnc4
sc start winvnc4 -localhost :1
pause

 

下面简要介绍一下如何在Cygwin上面配置SSH服务,windows的远程桌面只有用户名密码的方式登录。这里主要是为了传递localhost :1参数,让VNC在SSH隧道的本地端口等待连接

然后把这个批处理加到开始,或者其他开机自启动的位置

把服务器当前管理员账户设置为进入系统后直接登录,这样就可以保证开机之后启动VNC服务。试了在注册表和WIN.INI里在登录前启动批处理的方法,然并卵了。

参考这里设置自动登陆:

 

客户端先开启SecureCRT用之前设置的连接登陆 保持这个连接打开直到退出远程桌面

开启VNC Viewer,连接localhost :1

然后一切正常的话你就可以看到VNC远程桌面了 重启几次测试一下不靠windows远程桌面是否能登陆。如果可以的话就可以用VNC关闭windows远程桌面,到此你就可以保证只有拥有2个秘钥的计算机才能远程登陆windows桌面了。

用了一段时间的MONO,现在MONO也支持了ENTITY FRAMEWORK 6。但是实际上在LINUX环境里用MY...

CYGWIN SSH Server配置

windows的远程桌面只有用户名密码的方式登录,安全性并不高,不过LINUX上方便的工具很多都有WINDOWS的移植版本了。

 

这次使用了SecureCRT和RealVNC服务端和Cygwin在windows server服务器上搭建了使用RSA秘钥文件加密登录和SSH加密信道的远程桌面。

Cygwin是许多软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行UNIX类系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。

首先是服务端的配置:

安装了Cygwin之后,就可以像操作Unix那样的操作windows了,下面简要介绍一下如何在Cygwin上面配置SSH服务,使得可以从远程的机器上访问这台Windows。

首先在cygwin网站上下载最新版的cygwin,根据机器的CPU和操作系统类型:

 

图片 12

  1. 给文件授权,以完成sshd 服务的安装

下一步到如下界面设置CYGWIN安装到的目录,这里也是在cygwin控制台里根路径对应的位置:

chmod r /etc/group

图片 13

chmod r /etc/passwd

这里是下载的包的缓存,增加软件包的时候需要重新运行安装程序:

chmod rwx /var

图片 14

 

 选择安装源,最上面的源应该是最新的,国内也有一些镜像但是有些软件包似乎版本不是最新还有缺失。推荐使用网易的源,在我这里速度很快:

  1. 安装 sshd 服务

163的镜像: 

 

在下面粘贴后ADD即可

$ ssh-host-config

图片 15

 

 

*** Query: Overwrite existing /etc/ssh_config file? (yes/no) yes

这里搜索openssh,git, bash-completion以及bash-compelion-devel

*** Info: Creating default /etc/ssh_config file

图片 16

*** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes

 搜索后点击前面的skip或者default改成要安装的版本号

*** Info: Creating default /etc/sshd_config file

 图片 17

*** Info: Privilege separation is set to yes by default since OpenSSH 3.3.

选好所需软件包之后一直下一步等待安装。

*** Info: However, this requires a non-privileged account called 'sshd'.

cygwin安装成功后, 在管理员特权下执行bash终端. 我们先对git server端进行设置.

*** Info: For more info on privilege separation read /usr/share/doc/openssh/README.privsep.

执行ssh-host-config, 接下来脚本会引导用户进行设定.

*** Query: Should privilege separation be used? (yes/no) yes

  1. *** Query: Should StrictModes be used? (yes/no)
     这里选择yes

  2. *** Query: Should privilege separation be used? (yes/no)

*** Info: Updating /etc/sshd_config file

 这里选择yes, Cygwin会为我们建立一个特殊的windows账户用来执行sshd服务.

 

  1. *** Query: Do you want to install sshd as a service?
        *** Query: (Say "no" if it is already installed as a service) (yes/no)

*** Query: Do you want to install sshd as a service?

 选择yes, 会注册一个sshd的服务, 以执行server.

*** Query: (Say "no" if it is already installed as a service) (yes/no) yes

  1. *** Query: Enter the value of CYGWIN for the daemon: []
     这里写ntsec

  2. *** Info: This script plans to use 'cyg_server'.
    *** Info: 'cyg_server' will only be used by registered services.
    *** Query: Do you want to use a different name? (yes/no)
     Cygwin要建立一个cyg_server账户以运行sshd服务, 这里可以选择为该账户另取名字或者使用default. 我们选择no.

  3. *** Query: Create new privileged user account 'DMC-PCcyg_server' (Cygwin name: 'cyg_server')? (yes/no)
     yes, 确定建立账户. 之后输入密码, 完成config.

*** Query: Enter the value of CYGWIN for the daemon: [] ntsec

 

*** Info: On Windows Server 2003, Windows Vista, and above, the

设定完毕后, 在/etc下面多出来一个sshd_config文件, 打开该文件, 将如下item的注释取消,

*** Info: SYSTEM account cannot setuid to other users -- a capability

RSAAuthentication              yes

*** Info: sshd requires. You need to have or to create a privileged

PubkeyAuthentication         yes

*** Info: account. This script will help you do so.

新版的openssh原配置文件可能并没有RSAAuthentication这行,我是自己加上了它,还没测试是否对使用有影响。

 

openSSH配置完毕之后,在cygwin终端输入:

*** Info: You appear to be running Windows XP 64bit, Windows 2003 Server,

net stop sshd

*** Info: or later. On these systems, it's not possible to use the LocalSystem

net start sshd

*** Info: account for services that can change the user id without an

即可重启sshd服务。如果出现了什么错误,可以到服务端windows事件日志里查看错误详细信息。

*** Info: explicit password (such as passwordless logins [e.g. public key

 

*** Info: authentication] via sshd).

秘钥可以在服务端生成,不过我更习惯用SecureCRT生成:

 

SecureCRT的安装破解这里就先不赘述了,连接的时候使用服务器ip和windows的用户名:

*** Info: If you want to enable that functionality, it's required to create

图片 18

*** Info: a new account with special privileges (unless a similar account

选中publickey然后单击properties,进入公钥设置界面,这里可以生成公钥:

*** Info: already exists). This account is then used to run these special

图片 19

*** Info: servers.

点击Create Identity File创建公钥,key type选择RSA Passphrase可以不填 key length 1024或者2048都可以。

 

图片 20

*** Info: Note that creating a new user requires that the current account

 选择OpenSSH类型的秘钥,保存在自己电脑安全的位置(不要共享出去的地方):

*** Info: have Administrator privileges itself.

图片 21

 

登陆时候选择公钥并且登陆过程会自动读取公钥同目录下无扩展名的私钥,因此不要改名或者移动私钥

*** Info: The following privileged accounts were found: 'cyg_server' .

这样设置完成后秘钥对生成完毕,服务器上只需要保存公钥,即有pub扩展名的文件。

 

直接在这里upload到服务器总是失败,我后来是使用secureFX上传公钥到服务器上,位置是~/.ssh/authorized_keys 每个用户自己的文件夹下都有各自的公钥文件,多个公钥使用>>操作符追加到authorized_keys文件即可。

*** Info: This script plans to use 'cyg_server'.

现在去掉SecureCRT的客户端密码登陆方式,尝试秘钥文件登陆成功后在服务器上把/etc/sshd_config这一行注释解除并设置为PasswordAuthentication no关闭服务器密码认证

*** Info: 'cyg_server' will only be used by registered services.

 

*** Query: Do you want to use a different name? (yes/no) no

随后打开SecureCRT连接属性,如下把5900端口添加到端口映射

*** Query: Please enter the password for user 'cyg_server':

图片 22

*** Query: Reenter:

 

 

在服务端安装RealVNC Server

 

 在服务里把VNC Server改成手动启动 然后创建一个批处理用于启动VNC服务:

*** Info: The sshd service has been installed under the 'cyg_server'

net stop winvnc4
sc start winvnc4 -localhost :1
pause

*** Info: account. To start the service now, call `net start sshd' or

 

*** Info: `cygrunsrv -S sshd'. Otherwise, it will start automatically

这里主要是为了传递localhost :1参数,让VNC在SSH隧道的本地端口等待连接

*** Info: after the next reboot.

然后把这个批处理加到开始,或者其他开机自启动的位置

 

把服务器当前管理员账户设置为进入系统后直接登录,这样就可以保证开机之后启动VNC服务。试了在注册表和WIN.INI里在登录前启动批处理的方法,然并卵了。

*** Info: Host configuration finished. Have

参考这里设置自动登陆:

 

 

[email protected] ~

客户端先开启SecureCRT用之前设置的连接登陆 保持这个连接打开直到退出远程桌面

$ cygrunsrv.exe -S sshd  # 启动 SSH服务

开启VNC Viewer,连接localhost :1

 

然后一切正常的话你就可以看到VNC远程桌面了 重启几次测试一下不靠windows远程桌面是否能登陆。如果可以的话就可以用VNC关闭windows远程桌面,到此你就可以保证只有拥有2个秘钥的计算机才能远程登陆windows桌面了。

安装完成后,系统服务中应该会有 CYGWIN sshd服务

一切正常,即可启动ssh服务. 登录的用户名是cyg_server, 密码是配置是设置的密码

 

 

  1. 使用 windows 用户本地认证

 

mkpasswd -l > /etc/passwd  使用windows 用户的密码

mkgroup -l > /etc/group    使用windows 用户组

SSH Server配置 Cygwin是许多软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行UNIX类系统。Cygwin的主要目的是通...

编辑:操作系统 本文来源:下面简要介绍一下如何在Cygwin上面配置SSH服务,

关键词: 澳门新濠3559