社区
网络协议与配置
帖子详情
openssh源代码在windows下怎么编译
weixin_41001259
2021-02-04 12:56:58
怎么在windows下编译openssh,网上的资料都是在linux下的
...全文
125
1
打赏
收藏
openssh源代码在windows下怎么编译
怎么在windows下编译openssh,网上的资料都是在linux下的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
胖牛大侠
2021-08-21
打赏
举报
回复
何不直接用win的包
Windows
安装
openSSH
[可运行源码]
本文详细介绍了在
Windows
系统下安装
OpenSSH
的三种方法。
OpenSSH
是安全Shell工具的开放
源代码
版本,适用于跨平台管理远程系统。方法一通过
Windows
设置安装,适用于
Windows
10(2018秋季之后版本)、
Windows
Server 2019等;方法二使用PowerShell安装,适合管理员操作;方法三通过下载安装包安装,适用于除
Windows
2000、XP或2003外的所有版本。文章还提供了安装后的配置步骤,包括启动服务、防火墙规则设置以及连接
OpenSSH
服务器的详细指南。附录中包含了
OpenSSH
手册页和下载地址的链接,方便用户进一步参考。
openssh
-9.9p1, openssl-1.1.1w
openssh
-9.9p1, openssl-1.1.1w
转载:已
编译
好的
openssh
库
可以直接用别人做好的
windows
OpenSSL 安装包(我用的是0.9.8j版), 可以从 http://www.slproweb.com/products/Win32OpenSSL.html 下载 OpenSSL for
Windows
,直接安装。 P.S. OpenSSL for
Windows
的
源代码
有一些数据类型和VC6的
编译
器不兼容,我发现的不兼容的数据类型如下: 在OpenSSL安装目录的下的include/bn.h文件中,将 #define BN_ULLONG unsigned long long #define BN_ULONG unsigned long long #define BN_LONG long long 分别修改为: #define BN_ULLONG ULONGLONG #define BN_ULONG ULONGLONG #define BN_LONG LONGLONG 否则,会出现
编译
错误。 二、使用OpenSSL 在VC中配置使用以上的函数库: 点击菜单:Tools -> Options,弹出对话框"Options",在该对话框中选择"Directories"标签。 在"Show directories for:"的"Include files"选项中新增目录"C:\openssl\include"; "Library files"选择中新增目录"C:\openssl\lib"。 然后在需要链接OpenSSL函数库的工程中加入如下两句: #pragma comment(lib, "ssleay32.lib") #pragma comment(lib, "libeay32.lib") 其作用是将OpenSSL所需的库导入工程中。 三、问题 我在链接OpenSSL的静态函数库时遇到类似以下的问题: Linking... msvcrt.lib(MSVCRT.dll) : error LNK2005: _strchr already defined in libcmtd.lib(strchr.obj) ... 这是由于OpenSSL的静态函数库使用的是了VC的多线程DLL的Release版本,而我的程序使用了多线程静态链接的Release版本。 调整OpenSSL的静态函数库使用的库函数版本即可,调整过程如下: 编辑文件 ms\nt.mak,将该文件第19行 "CFLAG= /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE - D_CRT_NONSTDC_NO_DEPRECATE /Fdout32 -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_TLSEXT -DOPENSSL_NO_KRB5 - DOPENSSL_NO_DYNAMIC_ENGINE" 中的"/MD"修改为"/MT"。然后重新
编译
安装OpenSSL即可。 四、附录:在VC中对C/C++ 运行时库不同版本
编译
指令说明 《在VC中对C/C++ 运行时库不同版本
编译
指令说明》(http://blog.yesky.com/271/dgkang/1737771.shtml)一文中详细介绍了连接不同版本库的
编译
指令如下: C Runtime Library: /MD MSVCRT.LIB 多线程DLL的Release版本 /MDd MSVCRTD.LIB 多线程DLL的Debug版本 /MT LIBCMT.LIB 多线程静态链接的Release版本 /MTd LIBCMTD.LIB 多线程静态链接的Debug版本 /clr MSVCMRT.LIB 托管代码和非托管代码混合 /clr:pure MSVCURT.LIB 纯托管代码 C++ Standard Library: /MD MSVCPRT.LIB 多线程DLL的Release版本 /MDd MSVCPRTD.LIB 多线程DLL的Debug版本 /MT LIBCPMT.LIB 多线程静态链接的Release版本 /MTd LIBCPMTD.LIB 多线程静态链接的Debug版本
OpenSSH
9.5p1
OpenSSL3.0.12
Openssh
网络安全putty工具的
源代码
windows
下ssh putty工具的
源代码
网络协议与配置
1,748
社区成员
1,305
社区内容
发帖
与我相关
我的任务
网络协议与配置
网络协议与配置相关内容讨论专区
复制链接
扫一扫
分享
社区描述
网络协议与配置相关内容讨论专区
网络协议
网络安全
tcp/ip
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章