Articles of ssh keys

用盐为非root用户生成ssh密钥

我需要为用户生成ssh-keys(公共/私有对)。 这个用户已经在我所有的盐族中。 如何从我的盐大师为这个用户生成ssh密钥? 对于root用户,我使用这个命令生成密钥,它工作正常: salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /root/.ssh/id_rsa" 我可以发出下面的命令,可以为helen生成ssh-keys; 但是权限和所有权会有所不同; 所以需要再次发出命令来更正权限和所有权: salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /home/helen/.ssh/id_rsa" 有没有任何方法可以用盐作为用户helen而不是root来运行这个命令? 一般来说,有没有一种方法可以让盐作为非root用户运行命令?

SSH似乎无法进入AWS EC2实例,ssh权限被拒绝错误

我已经使用Amazon 64位linux(amzn-ami-2011.09.1.x86_64-ebs(ami-20506254))推出了一个使用AWS的新EC2实例,并且遇到了麻烦。 我使用ssh-keygen -t rsa生成了公钥/私钥ssh密钥对,并将.pub(公共)密钥添加到EC2pipe理控制台中的密钥对中。 当我尝试运行:ssh -i〜/ .ssh / aws_ec2 -v ec2-46-137-17-221.eu-west-1.compute.amazonaws.com 我得到以下输出: OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011 debug1: Reading configuration data /Users/casey/.ssh/config debug1: Reading configuration data /etc/ssh_config debug1: Connecting to ec2-79-125-85-42.eu-west-1.compute.amazonaws.com [79.125.85.42] port 22. debug1: Connection established. debug1: identity file /Users/casey/.ssh/aws_ec2 type 1 debug1: identity file /Users/casey/.ssh/id_rsa type 1 debug1: Remote protocol version […]

SSH – 使用密钥工作,但不在脚本中

我有点困惑,我已经build立了两台服务器之间的公钥,它工作得很好,有点。 它只适用于我手动从terminalssh。 当我把ssh命令放到一个python脚本中时,它会要求我input一个密码来login。 该脚本使用rsync来同步从一台服务器到另一台的目录。 手动ssh命令即可,无密码提示,自动login: ssh -p 1234 [email protected] 在Python脚本中: rsync –ignore-existing –delete –stats –progress -rp -e "ssh -p 1234" [email protected]:/directory/ /other/directory/ 是什么赋予了? (显然,ssh的细节都是假的) 每个请求编辑 @Zoredache – 我在脚本中放了-vv (和-i指定键的位置,实际上让我更靠近了一步),它显示了一堆有趣的线条: debug1: Host '[123.456.789.123]:1234' is known and matches the RSA host key. debug1: Found key in /root/.ssh/known_hosts:1 debug2: bits set: 515/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys […]

SSH如何忽略检查IdentityFile?

我已经设置了一个位于“〜/ .ssh / config”的configuration文件,其中包含一些IdentityFile行,指向我用于某些服务器的密钥文件。 例如IdentityFile〜/ Data / Keys / KeyFile.pem 这个工作正常,当我想连接到我的ec2服务器需要一个密钥文件进行身份validation的服务器。 当我想要连接到一个不使用密钥文件的服务器并且需要密码时,ssh会尝试在〜/ .ssh / config中使用我的密钥文件,并且连接失败: 从host.ip收到断开连接:2:root身份validation失败太多 是否有一个ssh命令参数,我可以用来连接到这个服务器,以便ssh不会尝试使用我的身份文件?

SSH主机密钥已更改 – 除了它实际上没有

我刚刚尝试SSH服务器,我已经这样做没有问题一段时间,并收到警告,服务器的主机密钥已更改。 但它没有! 在服务器上,我检查了/etc/ssh/sshd_config引用的主机密钥,但没有更改。 在客户端,我检查了known_hosts文件,并且在那里的现有条目有正确的公钥。 我试着将known_hosts文件临时StrictHostKeyChecking , no在/etc/ssh/ssh_config中将StrictHostKeyChecking设置为no ,这样就可以自动连接,以便比较公钥。 当我这样做,并检查known_hosts的新条目,公钥部分是相同的以前! 那为什么不连接? known_hosts唯一不同的是主机名的salt和hash。 但是由于我总是通过IP和端口连接,而不使用主机名,所以这些必须是正确的。 有任何想法吗? 请注意,所有尝试连接的客户端都会收到此消息。 所以这不是客户的问题。 编辑:我应该补充说,当我连接StrictHostKeyChecking设置为no ,并创build了一个新的known_hosts文件,当我然后尝试再次使用新的known_hosts文件连接和StrictHostKeyChecking回到yes ,它没有警告连接。 换句话说,新的known_hosts文件没有警告地工作,而旧的文件没有,尽pipe里面有相同的公钥。

自动ssh密钥生成

在Linux中,如果我在/etc/skel添加了一个文件或一个目录,当我创build一个用户的时候,这个文件或者目录就是skel。 同 ssh-keygen -t rsa 我可以创buildSSH密钥 每当我添加一个用户时,如何自动创buildssh密钥?

为什么ssh公钥authentication在通过计算机隧道传输ssh命令时停止工作?

在计算机A上,我有一个公钥和私钥,用于我的github帐户。 当我直接使用本机时,使用连接的键盘和显示器,我可以执行所有的git remote repo命令,例如git pull和git push,以及ssh -vv [email protected]。 所有这些工作,并使用正确的SSH密钥对。 但是,如果我从计算机Blogin到计算机A,然后尝试与上面相同的东西,我似乎无法获得与GitHub服务器一起使用的相同的ssh密钥。 除了我通过ssh连接控制计算机A,而不是直接通过计算机的键盘之外,这里完全没有区别。 这里究竟发生了什么,我怎样才能了解更多?

主机之间的SSH主机密钥pipe理

我们有一个基于2个Redhat的服务器,它们都是虚拟IP的主机。 192.168.0.3 dataserver(虚拟IP) 192.168.0.1 dataserver_ha1(物理服务器) 192.168.0.2 dataserver_ha2(物理服务器) 使用drdb和heartbeat它设置为运行一个主机作为主要主机,另一个处于备用状态。 如果主要的故障比备用服务器成为主要接pipe…在这方面非常标准。 我们的日志处理服务器(etl_server)连接到dataserver并运行每小时的进程。 我们使用ssh_keys连接(虽然这不是重要的信息)。 当dataserver_ha1故障转移到ha2时,由于关于更改主机密钥的中间人警告,etl_server不能再连接。 AFAIK有几件事我可以做: 1)在SSH客户端上严格检查(不要这样做)2)在客户端的authorized_keys文件中添加两个物理主机密钥的条目3)镜像所有/ etc / sshd / hosts *文件 但我觉得我应该能够告诉主机通知ssh客户机请求,可能使用两个允许的主机密钥之一。 当我有一点时间的时候,我会用VirtualBox或者其他的东西来testing。 在此期间,我在错误的地方寻找信息在这…

ssh服务器:无法加载主机密钥

我正在configurationSSH服务器,但遇到了一个问题。 首先,我使用以下命令生成私有/公共rsa密钥: ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key并在提示符上设置密码。 然后尝试启动sshd: /etc/init.d/ssh start 但是会得到错误: 无法加载主机密钥:/ etc / ssh / ssh_host_rsa_key 禁用协议版本2.无法加载主机密钥 sshd:没有可用的主机密钥 – 正在退出。 要点 :如果在生成密钥时将私钥的密码保留为空,则一切正常,但是否则会发生上述错误。 尽pipe如此,不build议将该密码留空。 有任何想法吗? 谢谢。

默认的ubuntu用户被删除,无法通过SSH访问EC2实例

这是我第一次使用EC2,并使用运行Ubuntu 12.04的Amazon AMI创build了我的第一个实例。 我创build了一个密钥对,并将.pem文件下载到本地机器上。 我能够通过SSH连接通过Ubuntu的用户就好了。 然后,我使用useradd命令创build了另一个用户,经过几次尝试,最终创build了它。 但是,在创build该用户的过程中,默认的ubuntu用户被删除了。 我退出实例,现在当我尝试以我的新用户帐户login时,我得到“权限被拒绝(访问键)”。 我没有在我的.ssh目录中为我的新用户在服务器上创build公用密钥,但即使如此,我仍然不能使用SSH与我的密码? 这是在其他服务器上为我工作的。 我已经尝试在pipe理控制台中导入另一个密钥对,但这并没有帮助。 就访问组而言,我只有默认组授予访问端口22。 如果我不能进入,似乎我唯一的其他select是删除实例,并创build另一个。 有没有办法访问我拥有的? 谢谢。