Articles of ssh keys

如何在CentOS 5.5上启用SSH密钥login?

我正在尝试在OpenITC VPS上的CentOS 5.5上设置SSHlogin。 我应该说这似乎没有安装SELinux,因为像sestatus这样的命令不起作用。 我目前有两个用户,root和M.我不知道在哪里放置authorised_keys文件,所以它在/root/.ssh/和/home/M/.ssh中,root是前者的所有者(和文件),M是后者(和文件)的所有者。 文件夹权限是700,文件是600。 当我尝试使用Putty Link(plink -v xxxx)login时,是否尝试以root或MI身份login获取以下内容: Looking up host "x" Connecting to x port 22 Server version: SSH-2.0-OpenSSH_4.3 We claim version: SSH-2.0-PuTTY_Release_0.60 Using SSH protocol version 2 Doing Diffie-Hellman group exchange Doing Diffie-Hellman key exchange with hash SHA-1 Host key fingerprint is: x Initialised AES-256 SDCTR client->server encryption Initialised HMAC-SHA1 client->server […]

SSH私钥 – 公钥authentication,禁用普通密码authentication,仍然可以在本地login?

我已经在家用服务器上使用了私钥 – 公钥login了好几年了,但是我一直保留PasswordAuthentication yes所以如果发生什么不幸,我仍然可以login。 当然,通过启用密码validation,任何不良事件发生的可能性都会大大增加。 所以,如果我设置PasswordAuthentication no我显然不能使用用户名/密码login到SSH。 但是,我还可以使用系统用户名/密码在本地login到本机吗? 我假设是的,因为本地login到物理机器与SSH无关。 但在我继续之前,禁用密码validation我想100%肯定。

如何重用SSH私钥?

我可以用ssh连接到server1和server2。 是否有可能从服务器2连接到server1而不从我的本地机器与server2的开放会话将我的私钥复制到server2?

重新使用SSH密钥

我刚刚在Digital Ocean上创build了一个液滴,文档说: 如果您尚未拥有由公钥和私钥组成的SSH密钥对,则需要生成一个。 如果您已经有了要使用的密钥,请跳至“复制公钥”步骤。 我已经有一个Linode VPS,我为其创build了SSH密钥。 我打算重新使用密钥还是为每个使用的服务器创build新密钥?

到本地主机的SSH连接ssh_exchange_identification:由远程主机closures的连接

在本地计算机上为项目设置SSH访问。 当我ssh -v localhost我的连接被拒绝。 用下面的堆栈跟踪。 OpenSSH_5.2p1, OpenSSL 0.9.8l 5 Nov 2009 debug1: Reading configuration data /Users/Kyle.Welsby/.ssh/config debug1: Applying options for localhost debug1: Applying options for * debug1: Reading configuration data /etc/ssh_config debug1: Connecting to localhost [::1] port 22. debug1: Connection established. debug1: identity file /Users/Kyle.Welsby/.ssh/identity type -1 debug1: identity file /Users/Kyle.Welsby/.ssh/id_rsa type 1 debug1: identity […]

我如何安排一个密码短语encryption和ssh代理程序可用于Windows启动时的其他进程?

我正在通过持续集成(TeamCity构build代理)在Windows环境中设置应用程序的自动化部署,并使用cygwin + openssh来执行远程执行部分 – 我基本上使用ruby的capistrano和一堆定制任务。 由于构build代理程序正在作为Windows服务运行,因此它是无头的。 该框不与用户login,所以当(例如)加载钥匙串或选美器时,用户没有机会键入密钥的密码。 所以目前,这个密码在部署脚本中是硬编码的 – 我的意思是说,在一个地方,所以它不是分散的,但是,似乎必须有一个更安全的方法来做到这一点。 谁能告诉我这是什么? 🙂 我真的不想不使用密码。 我更喜欢每次重新启动时都不必手动login到构build代理,以便执行一些步骤来为每个密码提供密钥,以便可以加载密钥。 更新: 我select使用密码键,因为它似乎本质上更安全,直到我后来碰到了如何解锁无头过程的钥匙的障碍。 这个想法是,只有拥有密钥密码的人才能够部署。 也许我需要CI构build代理使用的一个(密切控制的)密码短语密钥和一个供人类使用的密码短语?

使用SSH密钥对访问EC2实例的问题

只需build立一个新的EC2实例,下载了pem文件,目前无法进入框。 我正在使用命令… $ ssh -i .ssh/key.pem ubuntu@ec2-176-34-183-***.eu-west-1.compute.amazonaws.com 被要求input密码 当我生成密钥对时,我没有分配密码短语! 为什么会这样呢? Anway,我有一个挖掘,发现如何从密钥中删除密码短语: $ openssl rsa -in key.pem -out key-nopass.pem 尽pipe密语确实已被删除,但仍然没有喜乐。 这是我的详细输出: OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mar 2009 debug1: Reading configuration data /home/bob/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to ec2-176-34-183-***.eu-west-1.compute.amazonaws.com [176.34.183.***] port 22. debug1: Connection established. debug1: identity file […]

防止用户修改文件:这种方法是否安全?

我今天想知道是否有办法强制非root用户拥有一个特定的authorized_keys文件(以及其他合理的文件)。 我想出了这个解决scheme。 在sshd_config禁用StrictModes (必须操纵文件所有权和东西, sshd与StrictModes活动是非常挑剔的) 防止用户使用粘滞位删除他自己在主目录下的文件: chown root:user /home/user chmod 1770 /home/user 不应该修改/删除的每个文件和目录应该经过这个: chown root:user file_or_folder chmod 0640 file_or_folder chmod g+x folder 到目前为止,这种方法似乎工作。 用户不能修改/删除文件,也不存在用户离开自己的主文件夹可读/可写的风险( 这似乎是StrictModes背后的原因 ),因为他不拥有自己的主目录。 问题是:我错过了什么? 这可以绕过吗? 有缺点吗?

保护使用Capistrano for Git的远程LAMP服务器部署

我正在使用Capistrano将我的Github repo部署到Media Temple Grid服务器。 为了做到这一点,我设置了以下内容: 使用SSH密钥启用login到远程服务器(按照本指南 ) 在远程服务器上创build一个SSH密钥,并将SSH密钥添加到Github(这样我就可以从Github中获取/克隆一个repo) 使用set :use_sudo, false和default_run_options[:pty] = true设置我的Capistrano deploy.rb文件,因为我使用SSH密钥进行连接和部署,并希望尽可能安全 我想知道这是否是: 安全 :我的工作stream程安全吗? 常规 :这是build立这个工作stream程的正统方法吗? 不幸的是,我无法使用Grid Server的SSH代理转发function。 我知道这比在远程服务器上创buildSSH密钥并与Github共享它们更容易(也可能更安全)。

如何让Ubuntu root帐户转发ssh密钥作为转发机器

更新:下面描述的整个事情适用于远程计算机上的非root帐户。 也就是说,这个工作: anderson@client -> nonroot@remote -> anderson'[email protected] 但是这不起作用: anderson@client -> root@remote -> anderson'[email protected] 所以问题是,当中间的机器是root时,如何让ssh代理转发工作? 本地计算机(OSX)在〜/ .ssh / config文件中打开了转发: Host remotehost ForwardAgent yes 本地机器不会覆盖/ etc / ssh / ssh_config中的此设置。 Host * # ForwardAgent no 本地机器正在运行ssh-agent: anderson$ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-L0iFZ891Gv/agent.75083; export SSH_AUTH_SOCK; SSH_AGENT_PID=75084; export SSH_AGENT_PID; echo Agent pid 75084; 已经对密钥执行了ssh-add: anderson$ ssh-add -K ~/.ssh/id_rsa Passphrase updated in keychain: […]