在windows下安装SSH(转自woshizy博客)

由于要在windows下使用集群系统,因此需要有远程登陆和管理的工具,所以就找来OpenSSHforWindows,根据网上的资料在WinXP系统内进行的反复的尝试,但总是只能进行基于密码的远程登陆,无法采用基于密钥的无密码登陆,这样就必须在每次登陆的时候输入密码,既不安全也不便于实现自动化管理。

索性就改用cygwin实现的openssh,居然没有费什么劲就设置好了,想一想估计是因为OpenSSHforWindows的版本太旧了(最新的v3.81也是2003年的东西了),在WinXP上存在些兼容性的问题,加上需要手动修改其安装目录下的/etc/sshd_conf文件中的一些配置,不太好使也是难免的了。

在WinXP上通过cygwin实现openssh就要简单的多了,主要包括两个部分,首先配置SSH服务器,然后就可以通过在其中建立组与用户密码来实现基于密码的远程登陆,另外一部分就是通过在本地生成密钥对并上传给SSH服务器来实现基于密钥的远程登陆。

当然一切都是从cygwin的安装开始的,无论在服务器端还是远程的客户端都是必须要做的。安装的时候需要注意,除了缺省的那些包之外,还需要安装/libs/zlib、/net/openssh和/net/tcp_wrappers,这几个包不属于缺省安装的内容,因此需要在安装界面中手动选择。

配置SSH服务器

1.配置ssh主机,在cygwin的控制台中输入如下命令:

ssh-host-config

当屏幕显示关于“privilegeseperation”,输入yes后回车;

当屏幕显示关于“createlocalusersshd”,输入yes后回车;

当屏幕显示关于“installsshdasaservice”,输入yes后回车;

当屏幕显示关于“CYGWIN=”,输入ntsectty后回车;

当屏幕提示“Hostconfigurationfinished.Havefun!”时,就说明已经正常的完成了ssh主机的配置。

2.启动ssh服务,也就是启动ssh的服务器功能,在cygwin的控制台中输入如下命令:

netstartsshd

或者

cygrunsrv–startsshd

屏幕提示“CYGWINsshd服务已经启动成果。”,或者没有任何错误提示(对于cygrunsrv命令而言),说明ssh服务已经正常启动。

3.创建用户组与密码,在cygwin的控制台中输入如下命令:

mkpasswd–cl>/etc/passwd

mkgroup--local>/etc/group

至此服务器的配置已经完成,可以基于用户与密码实现从远程登陆SSH服务器。

通过密码登陆SSH服务器

在cygwin的控制台输入如下命令:

sshusername@hostname

其中hostname为建立SSH服务器的计算机IP地址或机器名,username为用于登陆该计算机的用户名称,如果根据前面的服务器配置步骤,应当就是该计算现有的某个账户名称。

如果是所用的客户端计算机是第一次登陆SSH服务器,命令行中会提示“Areyousureyouwanttocontinueconnecting(yes/no)”,只要输入yes即可,SSH服务器会自动将这次的登陆信息存储在/.ssh/known_host文件中。

接着屏幕中会提示输入登陆账户的密码,也就是ssh服务器中登陆账户的密码,当显示“Fanfare!!!Youaresuccessfullyloggedintothisserver!!!”时,说明已经成功登陆到ssh服务器计算机内了,需要注意的是,此时在当前控制台内输入的命令都将在ssh服务器计算机里运行。

如果要退出登陆,只要在命令行中输入

exit

即可,屏幕中会显示“logoutConnectionto[hostname]closed.”

通过密钥登陆ssh服务器

1.在客户端计算机上安装好包含openssh的cygwin;

2.为客户端生成rsa密钥,在cygwin命令行中输入:

ssh-keygen–trsa

对于提示输入密钥文件名或密钥的包含密码时都可以直接回车,从而将无密码保护的密钥保存在缺省文件中,两个密钥文件都保存在客户端当前用户的cygwin账户目录的/.ssh文件夹中,其中公钥的名称比私钥的名称只多一个pub后缀。

3.将客户端的公钥上传到ssh服务器,这时可以通过前面已经成功的基于密码的方式完成文件的上传,即在客户端的cygwin命令行中输入如下命令:

cd~/.ssh

scpid_rsa.pubusername@hostname:~/.ssh/newkey

4.在ssh服务器中将客户端的公钥添加到authorized_keys中,在服务器的cygwin命令行中输入如下命令:

ls(这时可以在目录中看到newkey文件)

catnewkey>>authorized_keys

rmnewkey

chmod600authorized_keys(更改文件的属性)

5.这时已经可以从客户端通过密钥对登陆到ssh服务器上了,只需在客户端的cygwin命令行中输入:

在没有密码输入提示的情况下,应该可以看到“Ranfare!!!……”,这说明已经成功登陆,如果在此时继续输入

whoami

可以看到在服务器上的登陆用户名。

需要注意的事情

1.由于cygwin不能直接支持包含空格的文件路径,因此在cygwin中执行的应用尽量不要有包含空格的路径,如果一定要用,需要在空格前添加“/”来标注;

2.windows的账户一定要有密码,否则只能通过修改sshd_conf来允许无密码的账户登陆;

3.默认的sshd服务不允许其与桌面进行交互,因此当通过ssh执行基于窗口的命令时,将无法看到创建的窗口,而只能在“任务管理器”中看到该进程已经被创建。为此,可通过进入“控制面板-管理工具-服务”窗口中打开“CYGWINsshd”服务,在其弹出窗口的“登陆”属性页中选中“允许服务与桌面交互”复选框,如果此时在客户端输入

sshusername@host‘notepad’

将可以看到对话框窗口能够正常弹出。

想在本机上搭建Hadoop的伪分布式运行环境,需要配置SSH。

Cygwin安装的时候是带有OpenSSH的,之前会偶尔用他连接远程服务器。试了一下:

$sshlocalhost

提示:ssh:connecttolocalhostport22:Connectionrefused.

纳闷,怎么连自己不行?想了一会才明白,原来Cygwin的OpenSSH安装后,默认的client端开启,服务器端没有配置。

那就来安装sshd吧。

$ssh-host-config

本来一路输入yes就可以的,我这却不断提示/var目录下的一些目录访问属性不对,但是用chmod命令改却没有反应,网上查了一下,原来如果磁盘格式为FAT32的话,Cygwin的chmod将没有作用。

到Dos下用convert命令改:

convertD:/FS:NTFS

转换完成后,更改对应文件夹属性,SSH的服务器端终于安装好。

启动sshserver:

$cygrunsrv-Sssh

提示:cygrunsrv:Errorstartingaservice:QueryServiceStatus:Win32error1062:

怎么搞得?

先重新安装一遍:

$cygrunsrv-Rsshd

$ssh-host-config-y

还是不行。

上网查了一下,原来一般是一些需要访问的目录权限不对,天哪,一个个改太要命了,而且我也不清楚到底得改多少。。。都怪当初FAT32格式惹的祸。

索性把Cygwin重装了。

这次终于启动成功了。

试验自连:

成功!

用IP连接,失败了,提示:

ssh_exchange_identification:Connectionclosedbyremotehost

上网查了一下,说是/etc/hosts.allow和/etc/hosts.deny两个文件的问题,

打开看了看,觉得写的挺有歧义的,太烦了,全给注释掉了,再连,成功了!!

THE END
1.如何在Windows11上安装OpenSSH服务器OpenSSH 是 SSH(安全外壳)协议的流行开源实现,现已作为 Windows 11 中的可选功能提供。只需单击几下,您就可以在 Windows 11 上安装 SSH 服务器。安装后,SSH 服务器允许您使用任何 SSH 客户端连接到 Windows 11 计算机。因此,言归正传,让我指导您完成在 Windows 11 上安装 OpenSSH 服务器的步骤。在 https://baijiahao.baidu.com/s?id=1772751839695745691&wfr=spider&for=pc
2.Windows安装ssh2PHPWindows安装ssh2 ssh2拓展下载,按自己的系统及PHP版本下载 我下载的是7.2版本的,php_ssh2-1.2-7.2-ts-vc15-x64.zip https://windows.php.net/downloads/pecl/releases/ssh2/ 把这两个文件php_ssh2.pdb,php_ssh2.dll放到php目录下的ext目录下https://download.csdn.net/blog/column/8864237/103276548
3.Windows安装OpenSSH支持SSH前言:在管理Linux服务器的时候,我们经常需要使用ssh客户端连接到服务器,或者进行向服务器传文件,特别是对运维或者系统管理员,如果使用Mac或者Linux桌面系统的同学就很容易,使用windows的同学,需要安装xShell、putty等工具,即使安装这些软件也不能直接使用scp,或者ssh-keygen生成密钥等操作。 https://www.jianshu.com/p/f8ba3e51d60e
4.windows安装openssh并通过生成SSH密钥登录Linux服务器Linux进入windows的命令行工具,输入ssh命令,出现下面信息即表示我们安装成功 四、利用ssh-keygen命令生成密钥对(公钥及对应的私钥) ssh-keygen具体参数如下: -a trials 在使用 -T 对 DH-GEX 候选素数进行安全筛选时需要执行的基本测试数量。 -B 显示指定的公钥/私钥文件的 bubblebabble 摘要。 https://www.jb51.net/article/148862.htm
5.在Windows下安装OpenSSHServer&部署秘钥腾讯云开发者社区Windows 11 打开设置选择应用-可选功能 选择查看功能,然后选择open ssh 服务器和open ssh 客户端,选择下一步即可 Windows 10 在设置中选择应用-应用和功能-可选功能 选择添加功能,然后选择open ssh 服务器和open ssh 客户端,选择安装即可 启动和设置开机自启 https://cloud.tencent.com/developer/article/2184419
6.windows中如何安装ssh服务器配置?Worktile社区第一步:安装OpenSSH 打开Windows设置,选择“应用”。 点击“应用和功能”选项卡。 在右侧的“应用和功能”搜索框中搜索“OpenSSH服务器”。 选择“OpenSSH服务器”并点击“安装”按钮。 等待安装完成。 第二步:配置SSH服务器 打开Windows设置,选择“应用”。 https://worktile.com/kb/ask/1283244.html
7.在Windows电脑上启动并配置SSH服务安装OpenSSH服务器: 在搜索框中输入“OpenSSH Server”,勾选该选项,然后点击“安装”。 Windows Server 打开“服务器管理器”: 通过“开始”菜单或搜索框打开“服务器管理器”。 添加角色和功能: 在“服务器管理器”中,点击“管理” > “添加角色和功能”。 https://developer.aliyun.com/article/1599625
8.Windows上的OpenSSH:安装配置和使用指南Windows 中的 OpenSSH 是一个可选功能(FoD),需要手动添加,它并不会随系统自动安装。本文将介绍如何在 Windows 11 或 Windows 10(1809 版本及以上)中安装、配置和使用 OpenSSH 客户端和服务器。 什么是 OpenSSH? OpenSSH 是一款用于安全远程连接和计算机管理的工具套件,它通过加密技术来保障通信安全,其主要功能包https://www.sysgeek.cn/openssh-windows/
9.在Windows上使用OpenSSH安装SFTP/SSH服务器二进制文件安装在%WINDIR%\System32\OpenSSH。配置文件 (sshd_config) 和主机密钥安装在%ProgramData%\ssh(仅在服务器第一次启动后)。 如果您想安装比 Windows 内置版本更新的 OpenSSH 版本,您可能仍需要使用以下手动安装。 在早期版本的 Windows 上 https://kb.tieten.cn/open.knowledge/view/737
10.windows7安装ssh命令51CTO博客已为您找到关于windows7安装ssh命令的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及windows7安装ssh命令问答内容。更多windows7安装ssh命令相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。https://blog.51cto.com/topic/windows7anzhuangsshmingling.html
11.在windows中安装opensshEnable OpenSSH for Windows Server 2025 Starting with Windows Server 2025, OpenSSH is now installed by default. You can also enable or disable thesshdservice in Server Manager. GUI PowerShell To enable SSHD using Server Manager: InServer Manager, on the navigation pane to the left, selectLocalhttps://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
12.通过SSH远程登录Windows电脑的详细指南软件应用最近在整理关于SSH相关资料,刚好整理到一个比较简单的SSH远程连接windows电脑的场景,比较适合SSH初学者。 在本文档中,我将详细介绍如何在Windows电脑上设置SSH服务,并使用SSH客户端进行远程登录的相关操作。内容有点长,有兴趣的同学可以往下看。 二、在被远程的Windows上安装SSH服务器和内网穿透工具 https://post.m.smzdm.com/p/azo6pq25/
13.windows7安装sshd服务windwinywindows 7 下 openssh-server 不能运行,只好安装 cygwin 带的sshd服务器了 以前有安装好的cygwin基础软件包,不想重新下载,只下载了openssh-5.8p1-1.tar.bz2,解压 运行bash --login, 运行 ssh-host-config 产生服务器密钥、安装服务等 $ ssh-host-config http://blog.chinaunix.net/uid-9793706-id-333639.html
14.Releases·PowerShell/Win32Upstream changes fromOpenSSH 9.8p1. Security Fixes (all pertaining to Windows parity with pre-existing upstream behavior): [ssh-agent] validate a PKCS11 library path based on allow-list configurable via-P, with default allow-list set to$env:ProgramFilesand$env:ProgramFiles(x86)-https://msrchttps://github.com/PowerShell/Win32-OpenSSH/releases
15.windows如何开启ssh问答要在Windows上开启SSH服务,您可以按照以下步骤操作:1. 打开控制面板:可以通过开始菜单中的搜索栏输入"控制面板"来找到并打开控制面板。2. 在控制面板中,选择"程序",然后点击"启用或https://www.yisu.com/ask/8107218.html
16.新华三新华三发布全场景Wi-Fi7新品,涵盖高密、放装、面板、壁挂式、室外、工业级等多场景无线使用覆盖需求。 灵犀一体机 大模型场景化应用一站式交付,为大模型落地行业打通“最后一公里”。 了解更多 液冷解决方案 全栈产品能力、全面技术路线、全生命周期服务“三全”融合,助力数据中心绿色转型。 https://www.h3c.com/