Articles of ssh keys

如果需要授权密钥,允许通过SSH进行外部访问是否“安全”?

CentOS 6 | OpenSSH的 我有一个面向外部的服务器,并希望能够通过我的手机访问它的便利。 这个系统本身就是一个孤岛,根本不和我的内部networkingbuild立联系。 我目前有SSHDconfiguration侦听不同的端口,只允许连接,如果: SSHstream量来自特定的远程IP SSH客户端使用授权的2048位RSA密钥。 为了让移动设备的访问更方便,我想取消源IP的要求,但是我担心的是,我会为后来的一个受到伤害的世界敞开心扉。 它会有助于利用像fail2ban这样的东西阻止屡犯者? 我的问题是: 如果我保持我的SSH服务器是最新的,并且如果我保密我的私钥是安全的,那么对于需要SSH授权密钥的系统将不会轻易受到损害?

不能SSH密码 – 获取另一个用户

服务器1拨入服务器2 ssh-keygen -t dsa -b 1024 (no password) scp id_dsa.pub [email protected]:/home/user/.ssh 服务器2: [~/.ssh]# cat id_dsa.pub >> ./authorized_keys 但是,当我做ssh [email protected]我得到: [email protected]'s password: 编辑: server1: ssh-keygen -t dsa -b 1024 (no password) server1: ssh-copy-id -i ~/.ssh/id_dsa [email protected] server1: ssh [email protected] — get promoted for a password 我如何得到正确的用户,所以我可以login没有密码?

Web服务器中介用于公钥authentication

我的家庭networking当前位于DD-WRT路由器后面,我可以使用公钥authentication访问DD-WRT路由器。 每当我需要从家庭networking访问某个东西时,我可以简单地从DD-WRT路由器创build一个SSH隧道。 提供我的私钥是安全的,不会受到影响,我认为这是一个非常安全的设置。 但是,即使没有可用的ssh客户端,我也希望能够访问路由器,并且只有可用的Web浏览器。 是否可以构build一个安全的解决scheme(或者是否有现有的服务),以便我可以使用Web应用程序(通过HTTPS访问)来访问我的路由器? 我想Web应用程序需要能够创build一个SSH连接到我的DD-WRT路由器。 为此,Web应用程序需要访问我的私钥,以便将其发送到Web应用程序。 我可以想象几个场景在哪里 我的私钥使用Web表单通过https发送到Web应用程序,以便Web应用程序可以创buildSSH连接。 Web应用程序接收SSH密钥,不会将密钥持久保存到磁盘,而只是将其保存在内存中以创buildSSH连接。 新的密钥对专门为Web应用程序生成。 Web应用程序将私钥存储在其数据库中,并将公钥发送给我。 Web应用程序使用它来创build到我的路由器的安全连接。 Web应用程序需要确保私钥是安全的。 这些情景都没有让我感到很舒服,但是我对安全性不够了解,无法做出适当的评估,我想知道是否有更合适的解决scheme来解决这个问题。 (让Web应用程序充当代表用户进行这种SSH通信的中介?) 或者这是“没有完成”的东西。

configuration文件和ssh密钥正在重置

我拥有一个Centos 6.4操作系统。 我有标准的灯pipe安装。 Apache 2.2,PHP54和MySQL 5.5。 我也上传了一个公钥到我的授权文件.ss​​h。 我有我的文档根在我的httpd.conf中设置。 一切工作,因为它应该。 直到几天后,当一切突然重置.. 我的SSH密钥不见了,我的httpd.conf文件被重置为默认状态。 就像我从未configuration过任何东西 有谁知道为什么会发生这种情况?

SSH在自动脚本调用时不工作

概要 :包含ssh的脚本在命令行中运行良好,但ssh部分在脚本被自动守护程序(apcupsd)调用时不起作用。 细节 :我有一个ESXi服务器,我有一个CentOS 6.5虚拟机,专门用于监控APC Backup UPS(通过USB)。 我正在使用APCUPSD来做到这一点。 理论上说,如果发生延迟断电,它将进入ESXi主机closures系统。 一切工作在连接到UPS和检测电源故障等方面,并在关机时调用脚本(在CentOS虚拟机上)。 我使用ssh-keygen等设置了密钥,因此我可以在不需要密码的情况下进入ESXi主机。 如果我从命令行手动运行脚本,它工作正常。 但是它不会在apcupsd自动调用。 特别是它是不工作的ssh命令(我的脚本中的其他行运行良好)。 我试着改变命令我正在运行一个简单的LS和redirect输出到一个文件(再次这个工作正常,当从命令行手动运行)。 当自动触发我的输出文件被创build,但它是零字节。 我已经尝试了许多不同的SSH选项,包括-i和-n。 我似乎无法得到任何详细的错误信息(例如与-v) 查看ESXi主机上的/var/log/auth.log,表明它甚至没有尝试build立连接。 我已经尝试了几件事情: /usr/bin/ssh -o StrictHostKeyChecking=no -x root@XXXX "ls" >output_file /usr/bin/ssh -n -i /root/.ssh/id)dsa root@XXXX "ls" >output_file ssh -n root@XXXX >output_file 如果我echo $? >output_file echo $? >output_file我得到一个126的返回码,我相信是CLI_ERR_NOT_AUTHORIZED授权错误:用户没有足够的权限来执行命令。 事情是我相信apcupsd将作为根运行,所以我会认为它会有必要的权限。 任何人都可以帮忙吗?

SSHconfiguration(〜/ .ssh / config) – 高级configuration

更新:只是为了确认更多关于我的设置,以防不清楚: 没有私钥在任何地方共享。 (1)使用Mac的人类程序员每个都有一个SSH密钥(在〜/ .ssh / id_rsa中),用于连接到我所有的BitBucket存储库(一个公司帐户)。 公钥元素被放置在BitBucket中授权他们,并批准所有我的BitBucket存储库的人。 (2)Ubuntu服务器每个都有自己的密钥对设置,并且每个BitBucket存储库都有一个SSH密钥。 每个公钥放在每个相应的BitBucket存储库中。 基本上我试图让一个composer.json文件(使用下面显示的URL格式)为人类和服务器工作(即当人类有一个SSH密钥访问我所有的BitBucket存储库(相同的帐户)当服务器有单独的SSH密钥访问每个BitBucket存储库时,他们被批准)。 – 我需要能够configuration我的〜/ .ssh / config文件来使用所有这些URLS: [email protected]:username/repository-abc.git [email protected]:username/repository-12345.git [email protected]:username/another-repo.git …但我不能使用别名。 所以我不能这样做: git@alias1:username/repository-abc.git git@alias2:username/repository-12345.git git@alias3:username/another-repo.git 原因是这些URL将存放在composer.json文件中,该文件也被本地开发计算机使用,这些计算机仅为所有BitBucket存储库使用一个SSH密钥,并且未configuration为了解所有不同的别名。 我可以configuration服务器,但是我在服务器上configuration了下面的〜/ .ssh / configconfiguration。 每当它尝试读取无效的私钥文件(例如,第二/第三回购将尝试首先读取第一个)时,它将失败。 但是,如果我select性地inputSSH密钥密码时,这可以工作,但是,如果密码不正确,忽略(只是按Enter键)。 Host bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/alias1_private_key Host bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/alias2_private_key Host bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/alias3_private_key configuration别名会很容易,但是由于开发计算机不理解,所以我被卡住了。 有没有办法做到这一点,以便它可以为一切工作? Host bitbucket.org HostName bitbucket.org Url […]

如何使用本地机器上的密钥在远程实例上设置Git?

我有一个设置,我可以从我的本地机器ssh到我的远程服务器(即谷歌Compute实例)。 我曾经可以在远程实例上克隆,推送和从存储库中提取数据,而无需向我的远程实例添加任何密钥,也不需要在线添加任何新密钥(只需从我的本地计算机中获取公钥)。 我相信远程实例使用我的本地机器的密钥来validation我的Git推和拉。 但是,当我在本地机器上重新安装操作系统时,系统崩溃了。 现在,当我尝试从远程实例连接到Github服务器时,出现以下情况: 无法克隆: [lucas@ecoinstance]~/node$ git clone [email protected]:lucasExample/test.git test Cloning into 'test'… Permission denied (publickey). fatal: The remote end hung up unexpectedly 不能推: [lucas@ecoinstance]~/node/nodetest1$ git status # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean) [lucas@ecoinstance]~/node/nodetest1$ git push Permission denied (publickey). […]

git私人服务器错误:“权限被拒绝(publickey)”。

我遵循这里的说明,以便在我的Amazon EC2实例上build立一个私有的git服务器。 但是,当我尝试SSH到git帐户时遇到问题。 具体来说,我得到错误“权限被拒绝(公钥)”。 以下是我在EC2服务器上的文件/文件夹的权限: drwx—— 4 git git 4096 Aug 13 19:52 /home/git/ drwx—— 2 git git 4096 Aug 13 19:52 /home/git/.ssh -rw——- 1 git git 400 Aug 13 19:51 /home/git/.ssh/authorized_keys 这里是我自己的电脑上的文件/文件夹的权限: drwx—— 5 CYT staff 170 Aug 13 14:51 .ssh -rw——- 1 CYT staff 1679 Aug 13 13:53 .ssh/id_rsa -rw-r–r– 1 CYT staff […]

如果我使用ssh -A选项进行身份validation代理转发,我的私钥是否安全?

我喜欢用-A选项通过SSH连接服务器的选项,所以我可以在服务器上使用我的私钥。 这使我可以更新git / svn仓库并连接到其他服务器,而无需将私钥上传到服务器。 真棒! 但是它是如何工作的? 我担心的是私钥在服务器上是临时可访问的。 如果服务器被攻破,或者其他用户以某种方式作为根用户login,则可以访问它。 是这样吗? 我查看了/ tmp的内容,其中名为ssh-something的文件夹与名为ssh-something的套接字一起存在。 这让我希望将必要的握手请求传递到本地计算机,并在那里处理/签名,而我的私钥实际上不会离开本地计算机。 是这样吗?

GitLab推不可能,总是导致要求git用户密码

我有一个GitLab的问题。 一切都很好,但我不能推。 它一直在问我用户git的密码。 这是一个问题,我第一次安装Omnibus软件包,然后卸载它,因为我使用Apache和这个软件包使用Nginx? 我在本教程中安装了GitLab。 它工作,但其他用户无法创build项目。 然后我试着卸载它,重新安装并更新它。 现在每个人都可以创build项目,但是当有人试图推送时,它会要求input一个git密码。 SSH密钥被创build并保存在GitLab中。 文件夹/home/git/.ssh不存在。 我在这里find它: /var/opt/gitlab/.ssh 。 这是gitconfiguration不正确的迹象吗?