Articles of 公钥

在虚拟机上设置身份validation

我正在使用libvirt python绑定创build一个类似于云计算提供者的系统。 我想让用户能够以与AWS类似的方式指定自定义虚拟机映像。 我想dynamic生成SSH密钥对,并将其设置为公钥authentication。 哪个是最好的方法来做到这一点? 我应该在用户指定的虚拟机镜像上施加哪些要求才能起作用? 我正在考虑用一个无密码的root帐户来允许我的软件login并设置所需的内容,但是这留下了一个(短)时间段,在这个时间段内每个人都可以以rootlogin。 有更好的解决scheme吗? 我可以在启动之前编辑虚拟机映像吗? 在实践中,我需要login才能login到本机并执行一些命令,然后再交给用户。 编辑: 一些额外的细节: 我知道Eucalyptus,Cloudstack和Openstack。 此实现适用于特定的环境/要求(HPC群集,批处理作业调度),不允许运行这些。 我其实并不在乎(或者为了这个问题的目的,它是不相关的)密钥对来自哪里,我只想知道服务提供者如何可能访问机器,通过要求尽可能less的设置在用户部分的虚拟机映像上; ErikA回答了这个build议服务特定的密钥对。 很公平。 还有其他解决scheme吗? 最终用户不必访问新的虚拟机,他将通过SLURM在其上运行作业(尽pipe如果他愿意,他可以访问它,我不在乎)。 提供者照顾: 分配和产生新的域(虚拟机) 产生SLURM守护进程(在启动时不必发生,但在某个时间点,因此需要提供者能够访问机器)

如何loggingsshd中的所有指纹,即使连接不成功?

我明白,通过调整/etc/ssh/sshd_config的LogLevel ,我可以在身份validation成功时logging指纹,但是我想要做的是查看实际上不成功的密钥的指纹。 实际的问题是无知的客户端连接到服务器使用错误的密钥,如果我可以看到指纹validation失败,这将有很大的帮助。 操作系统是Ubuntu Precise Pangolin, openssh-server (1:5.9p1-5ubuntu1) 。 这可能吗?

为什么SSH公钥authentication在一个帐户上失败,但在同一台服务器上工作

我有一个SSH公钥问题。 在服务器上有一个帐户,我已经将我的公钥上传到了.ssh/authorized_keys ,并且按预期工作(我可以不用密码login)。 然后在同一台服务器上有一个帐户(我已经做了几次),但仍然要求我input密码才能login。 这些帐户匹配的设置如下: 目录权限是正确的.ssh目录的所有者和组是用户。 权限设置为0700 .ssh / authorized_keys将用户和组设置为正确的用户,权限为0600 我试过比较他们完全一样的文件。 并尝试了scp ~/.ssh/id_rsa.pub [email protected]:.ssh/authorized_keys几次。 如果我尝试添加-v到SSH连接,我得到以下信息,不工作: OpenSSH_4.7p1, OpenSSL 0.9.8g 19 Oct 2007 debug1: Reading configuration data /Users/pacis/.ssh/config debug1: Reading configuration data /opt/local/etc/ssh/ssh_config debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 22. debug1: Connection established. debug1: identity file /Users/pacis/.ssh/identity type -1 debug1: identity file /Users/pacis/.ssh/id_rsa type 1 debug1: identity […]

通过〜/ .ssh / config禁用密码validation?

我知道我在这里打败了一场失败的战斗,但是用了一些肘部润滑剂,我得到了和GoDaddy的共同托pipe,让我通过pubkey auth(在〜/ .ssh目录和authorized_keys文件中添加,他们的支持告诉我,我无法与共享的托pipe)。 我会尽快离开他们,但无论如何,为了今后的任何问题,我都会问这个问题: 有没有办法强制pubkey身份validation,无论是与用户特定的configuration文件或类似的东西? 我总是可以走一段很长的路线,将一些脚本写入.profile文件,除非设置了一些环境variables,然后使用authorized_keys文件以per-key为基础进行设置,但似乎应该更容易比这个方式。 (除了试图强行访问他们的sshd_config文件)

如何通过Windowsencryption可读的网站证书文件?

我有一个由CA签名的.crt文件。 我cat的文件,看到它是ASCII文本。 然而,当我双击Windows中的.crt文件时,它会打开它,并以某种方式显示其中的所有信息。 是否Windows会自动尝试所有已知的CA公钥,直到find可将该.crt文件转换为信息的公钥? 我怎么手动解密证书来查看信息(最好在Linux命令,因为我知道这些更好)?

使用公钥的OpenSSH和PAMauthentication

我正在寻找一种使用存储在数据库(MongoDB)中的公钥来validation用户身份的方法。 类似的问题通常会导致build议安装一个修补版本的OpenSSH( https://github.com/wuputahllc/openssh-for-git ),这个版本可以通过一个db进行validation(GitHub使用OpenSSH的补丁版本)。 我看到有一个PAM模块通过MySQL进行身份validation,但是它假设用户名/密码身份validation。 我想知道是否可以使用某种PAM模块对服务器使用公钥进行身份validation。 编辑:我需要它的所有用户将通过'混帐'用户名连接的混帐服务器。 每个用户都没有特定的用户名。

没有密码的SSH不适用于某些用户

我有一个新的RHEL4 Linux机器,用于将数据复制到带有scp的旧Solaris 2.6和RHEL3 Linux机器上。 我发现,使用相同的设置,它适用于某些用户,但不适用于其他用户。 对于用户简,这工作正常: jane @ host1 $ ssh -v remhost debug1: Next authentication method: publickey debug1: Trying private key: /mnt/home/osborjo/.ssh/identity debug1: Offering public key: /mnt/home/osborjo/.ssh/id_rsa debug1: Server accepts key: pkalg ssh-rsa blen 277 debug1: read PEM private key done: type RSA debug1: Authentication succeeded (publickey). 对于用户插孔它不: jack @ host1 ssh -v remhost […]

从远程服务器安全地获取SSH指纹?

我曾考虑过这个问题,而且我的主机提供了带外支持,所以我可以简单地创build带外密钥指纹,并在从家中连接到该服务器时进行比较。 除了带外访问之外,还有其他方式可以validation您连接的主机的确是您购买的服务器吗? 这在实践中是如何完成的?

什么是分享ssh-keypairs的好方法?

我有一些用作身份validation的密钥对,用于SSH云服务器上的SSH服务器。 我每周手动轮换这些证书。 我的问题是,我需要和一些同事分享证书,一些在局域网上,另外一些在国内。 分享证书的最佳做法是什么? 我最初的想法是Dropbox和电子邮件。 我们不主机专用电子邮件服务器encryption和所有,并没有一个VPN。 谢谢。

SSH公钥格式

我有一个公钥格式: —- BEGIN SSH2 PUBLIC KEY —- Comment: "somename-20060227" AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== —- END SSH2 PUBLIC KEY —- 通常我会看到这样的格式的键: ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on] 我可以只复制authorized_keys文件中的第一个键,或者我必须修改它,所以它看起来像第二个? 我认为第一个是由PUTTYgen生成的,而第二个是由ssh-keygen生成的。