Sharkey

OpenSSH管理证书使用服务
授权协议 Apache 2.0
开发语言 Google Go
所属分类 服务器软件、 终端服务器/远程连接
软件类型 开源软件
地区 不详
投 递 者 龚俊捷
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Sharkey 是OpenSSH管理证书使用的服务。

say no to TOFU

Sharkey 分为客户端组件和服务端组件,服务端负责发布已签署的主机证书,客户端负责在机器上安装主机证书。

服务端使用示例:

usage: sharkey-server --config=CONFIG [<flags>]

Flags:
  --help           Show context-sensitive help (also try --help-long and --help-man).
  --config=CONFIG  Path to yaml config file for setup
  --suffix=SUFFIX  Suffix of hostnames that will be supplied to server.
  --version        Show application version.

服务端配置示例:

# SQLite database
# ---
db:
  address: /path/to/sharkey.db
  type: sqlite

# MySQL database
# ---
# db:
#   username: root
#   password: password
#   address: hostname:port
#   schema: ssh_ca
#   type: mysql
#   tls:                                       # MySQL TLS config (optional)
#     ca: /path/to/mysql-ca-bundle.pem
#     cert: /path/to/mysql-client-cert.pem     # MySQL client cert
#     key: /path/to/mysql-client-cert-key.pem  # MySQL client cert key
#     min_version: 1.2                         # Min. TLS version

# Server listening address
listen_addr: "0.0.0.0:8080"

# TLS config for serving requests
# ---
tls:
  ca: /path/to/ca-bundle.pem
  cert: /path/to/server-certificate.pem 
  key: /path/to/server-certificate-key.pem
  min_version: 1.2                             # Min. TLS version (optional) 

# Signing key (from ssh-keygen)
signing_key: /path/to/ca-signing-key 

# Lifetime/validity duration for generated host certificates
cert_duration: 168h

客户端使用示例:

usage: sharkey-client --config=CONFIG [<flags>]

Flags:
  --help           Show context-sensitive help (also try --help-long and --help-man).
  --config=CONFIG  Path to yaml config file for setup
  --version        Show application version.

客户端配置示例:

# Server address
request_addr: "https://sharkey-server.example:8080"

# TLS config for making requests
# ---
tls:
  ca: /path/to/ca-bundle.pem
  cert: /path/to/client-certificate.pem 
  key: /path/to/client-certificate-key.pem

# OpenSSH host key (unsigned)
host_key: /etc/ssh/ssh_host_rsa_key.pub

# Where to install the signed host certificate
signed_cert: /etc/ssh/ssh_host_rsa_key_signed.pub

# Where to install the known_hosts file
known_hosts: /etc/ssh/known_hosts

# How often to refresh/request new certificate
sleep: "24h"
 相关资料
  • Managing certificates You should generate your own certificates before going to production. Depending on the go version used, the notary-server certificate may have to be marked for both EKUs clientAu

  • 是的,弹性豆茎应用程序是负载平衡的,并且确实有一个与之相关联的ELB。 我知道我可以直接应用于ELB我自己。但是我想通过弹性豆茎来应用它,这样env配置就保存到云形成模板上了。

  • 我的解决方案涉及使用Java在keyvault中创建证书。下面是我尝试过但没有成功的方法。 DefaultAzureCredentialBuilder:创建证书的最基本形式,其中我必须在环境变量中导出clientId、clientSecret和tenantId,并创建证书客户端,如下所示: 样品来源如下: https://github.com/Azure/azure-sdk-for-java/tr

  • 使用用户证书验证 SSH (服务端) 在以安全为前提下要保障可靠性、可控性和一致性是非常复杂的。我们可以利用 SSH 又或者说 OpenSSH 来替代所依赖的中央身份验证(比如 LDAP 或者 Kerberos) 除了 通过 PIV 和 PKCS#11 验证 SSH 之外,还可以增加远程 SSH 验证的安全性。Facebook 和 Yahoo 已经更换使用 SSH 用户证书来避免中心认证系统宕机。

  • 1. 功能介绍 你可以点击 这里 查看证书管理功能的介绍信息。 2. 常见问题答疑 请注意 使用本功能,请确保SDK版本高于以下版本: iOS SDK:2.24.4 Android SDK:2.24.3 2.1 在服务端上传证书时,服务端是否会比对证书信息? 答:不做对比,仅提取证书认证域名,有效期与证书类型,便于您做二次确认。 2.2 如果小程序内包含多个域名,其中仅部分域名配置了证书,是否会影

  • 1. 功能说明 通过增加网络证书校验的方式,确保处于互联网环境下的业务请求是安全稳定的,有效避免请求劫持、中间人攻击等问题。 2. 使用说明 2.1 上传证书至服务端 找到【开发管理-证书管理】,点击「上传证书」上传证书内容,上传完成后,服务端将从证书内容提取证书有效期及绑定域名; 2.2 设置需要证书保护的域名 并非所有业务请求都需要执行证书强校验,因此开发者可在【证书管理-管理域名】中设置本证

  • AMSSL证书管理 使用DNS接口验证失败了 使用文件验证失败,使用DNS验证也是失败,奇怪了. 请老师给分析一下. [amssl-3.8 admin] [OK] amssl-3.8 is already installed. configure arguments: --prefix=/usr/local/nginx-1.24 --user=www --group=www --with-http

  • 我正在使用Java Webstart技术开发一个Java桌面应用程序。我使用有效的证书对我的应用程序进行签名,并使用JnlpDownloadServlet进行部署。我用maven webstart插件准备了所有这些基础设施。 但是当我的证书过期,我不得不辞职并重新部署我的应用程序时,我在让webstart完全重新下载我的应用程序时遇到了问题。 据我所知,根据我可以从Internet收集的内容(We