资源简介
OpenSSH是SSH协议远程登录的首选连接工具。它加密所有流量以消除窃听,连接劫持和其他攻击。另外,OpenSSH提供了一套安全的隧道功能,多种认证方法和复杂的配置选项。
OpenSSH套件包含以下工具:
远程操作使用 ssh, scp和 sftp完成。
使用ssh-add, ssh-keysign, ssh-keyscan和 ssh-keygen进行密钥管理 。
服务 端由sshd, sftp-server和 ssh-agent组成。
OpenSSH是由OpenBSD项目的一些开发人员开发的, 并且可以使用BSD格式的许可证。
OpenSSH被纳入到许多商业产品中,但这些公司中很少有公司通过资助协助OpenSSH。
OpenSSH套件包含以下工具:
远程操作使用 ssh, scp和 sftp完成。
使用ssh-add, ssh-keysign, ssh-keyscan和 ssh-keygen进行密钥管理 。
服务 端由sshd, sftp-server和 ssh-agent组成。
OpenSSH是由OpenBSD项目的一些开发人员开发的, 并且可以使用BSD格式的许可证。
OpenSSH被纳入到许多商业产品中,但这些公司中很少有公司通过资助协助OpenSSH。
代码片段和文件信息
/* $OpenBSD: addrmatch.cv 1.13 2016/09/21 16:55:42 djm Exp $ */
/*
* Copyright (c) 2004-2008 Damien Miller
*
* Permission to use copy modify and distribute this software for any
* purpose with or without fee is hereby granted provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED “AS IS“ AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL DIRECT INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE DATA OR PROFITS WHETHER IN AN
* ACTION OF CONTRACT NEGLIGENCE OR OTHER TORTIOUS ACTION ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include “includes.h“
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “match.h“
#include “log.h“
struct xaddr {
sa_family_t af;
union {
struct in_addr v4;
struct in6_addr v6;
u_int8_t addr8[16];
u_int32_t addr32[4];
} xa; /* 128-bit address */
u_int32_t scope_id; /* iface scope id for v6 */
#define v4 xa.v4
#define v6 xa.v6
#define addr8 xa.addr8
#define addr32 xa.addr32
};
static int
addr_unicast_masklen(int af)
{
switch (af) {
case AF_INET:
return 32;
case AF_INET6:
return 128;
default:
return -1;
}
}
static inline int
masklen_valid(int af u_int masklen)
{
switch (af) {
case AF_INET:
return masklen <= 32 ? 0 : -1;
case AF_INET6:
return masklen <= 128 ? 0 : -1;
default:
return -1;
}
}
/*
* Convert struct sockaddr to struct xaddr
* Returns 0 on success -1 on failure.
*/
static int
addr_sa_to_xaddr(struct sockaddr *sa socklen_t slen struct xaddr *xa)
{
struct sockaddr_in *in4 = (struct sockaddr_in *)sa;
struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)sa;
memset(xa ‘\0‘ sizeof(*xa));
switch (sa->sa_family) {
case AF_INET:
if (slen < (socklen_t)sizeof(*in4))
return -1;
xa->af = AF_INET;
memcpy(&xa->v4 &in4->sin_addr sizeof(xa->v4));
break;
case AF_INET6:
if (slen < (socklen_t)sizeof(*in6))
return -1;
xa->af = AF_INET6;
memcpy(&xa->v6 &in6->sin6_addr sizeof(xa->v6));
#ifdef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
xa->scope_id = in6->sin6_scope_id;
#endif
break;
default:
return -1;
}
return 0;
}
/*
* Calculate a netmask of length ‘l‘ for address family ‘af‘ and
* store it in ‘n‘.
* Returns 0 on success -1 on failure.
*/
static int
addr_netmask(int af u_int l struct xaddr *n)
{
int i;
if (masklen_valid(af l) != 0 || n == NULL)
return -1;
memset(n ‘\0‘ sizeof(*n));
switch (af) {
case AF_INET:
n->af = AF_INET;
if (l == 0)
return 0;
n->v4.s_addr = htonl((0xffffffff << (32 - l)) & 0xffffffff);
return 0;
case AF_INET6:
n->af = A
- 上一篇:计量数据可用于经典线性回归模型的学习
- 下一篇:运料小车PLC编程
相关资源
- openssh8.1p1离线编译升级包
- centos 7 openssh7.9p 201810月最新版,基于
- OpenSSH升级包、依赖包
- setupssh-7.8p1 openssh安装 windows10
- centos6.8安装openssh7.9的rpm包
- openSSH安装包
- windows 下openssh服务安装包
- 升级OpenSSH_7.4p1完整源码包
- openssh-7.9p1
- linux升级openssh到7.8p版本包
- openssh.rar
- 自动化运维-openssh7.9一键升级(redha
- openssh-7.9p1+openssl-1.1.0h一键升级
- openssh升级只7.7版本资源包
- openssh7.9p1的rpm包。安全加固用的
- openssh-7.1p2.tar.gz
- openssh-5.9p1.tar.gz
- centos 7.x openssh7.8p RPM包
- centos openssh 升级安装rpm包
- AIX5.3、6.1、7.1可用的openssl0.9.8和open
- 海思3516A 3516D openssl zlib openssh编译
- openssl+openssh离线安装包
- openssh8.1p1-update-el6.tar.gz
- ubuntu14.04LTS离线安装openssh所需要的介
- openssh-8.2.tar.gz
- ubuntu openssh 7.8p1 升级安装包
- Ubuntu升级openssh7.8p1快速命令集
- openssh-6.6p1-1.x86_64.rpm
- openssh for windows--setupssh-7.9p1-1
- CentOS7 1804 OpenSSH8.3p1打包RPM、安装升级
评论
共有 条评论