Articles of ssh keys

只允许从内部networking对SSH服务器进行密码validation

我有一个在Ubuntu Precise 12.04上运行的OpenSSH 5.9p1服务器,它接受来自内部networking和Internet的连接。 我想要从公共密钥身份validation来自Internet的连接,但接受来自内部networking的连接的公钥或密码身份validation。 我可以configurationOpenSSH来实现这个吗?

如何更改SSH主机密钥?

我克隆了一台服务器,所以他们有相同的RSA密钥指纹。 它似乎是在/etc/ssh/ssh_host_rsa_key.pub定义的。 什么是正确的方式来改变呢? 谢谢。

SSH允许一个用户的密码,只rest允许公共密钥

是否有可能用ssh来允许来自某个用户的密码,但拒绝其他人使用密码? 基本上我想让用户justin密码authentication,但其他人都必须使用公钥。 PasswordAuthentication no 似乎是全球性的,没有办法由用户指定。

从服务器pipe理员接收私钥:好还是不好?

我要访问远程SFTP服务器。 pipe理员为我创build了一个用户,并为我生成了一个公钥/私钥对。 然后他安全地给我发送了私钥文件,我使用它来进行身份validation。 我相信这不好,我应该是那个生成密钥对的人,把公钥给他。 但是我不能想到这个不好的原因,如果我只使用这个密钥login到服务器,没有其他的服务器。 有这样的理由吗?

自动化ssh-copy-id

我有一些任意数量的服务器具有相同的用户/传递组合。 我想写一个脚本(我打一次),所以 ssh-copy-id user@myserver 被称为每个服务器。 由于它们都具有相同的用户/通行证,所以这应该很容易,但是ssh-copy-id要求我每次单独input密码,这就破坏了我的脚本的目的。 没有selectinput密码,即ssh-copy-id -p mypassword user@myserver 。 我怎么能写一个脚本,当ssh-copy-id要求时自动填写密码字段?

发布id_rsa.pub,以便更容易地设置新的环境?

为了在新的机器和环境中设置无密码的SSH更容易,是否有任何理由为什么id_rsa.pub文件(只是密钥对的公共一半)不能在网上发布? 例如在一个dotfiles GitHub仓库中。 我知道: id_rsa文件(私钥的一半)必须小心谨慎 密钥对应使用密码保护 但我的search没有提出明确的build议,这是允许或鼓励。 出于好奇,相同的build议是否可以保留一个没有密码的密钥对?

SSH中止身份validation失败太多

我试图运行这个简单的configuration脚本,但是在运行vagrant up和vagrant provision命令时遇到了错误。 我读到,我需要创build一个/etc/ansible/hosts文件,我已经完成,填充它: [vagrant] 192.168.222.111 我的SSHconfiguration(删除了一些细节): Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/ashleyconnor/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL Host server HostName XXX.XXX.XXX.XXX User ash PreferredAuthentications publickey IdentityFile ~/.ssh/ash_ovh Host deployer HostName XXX.XXX.XXX.XXX User deployer PreferredAuthentications publickey IdentityFile ~/.ssh/deployer_ovh Host bitbucket.org PreferredAuthentications publickey IdentityFile ~/.ssh/bitbucket Host github.com […]

如何获取.ssh / authorized_keys(2)文件的所有指纹

是否有一个简单的方法来获取在.ssh / authorized_keys ||中input的所有指纹列表 .ssh / authorized_keys2文件? ssh-keygen -l -f .ssh/authorized_keys 将只返回第一行/入口/公钥的指纹 用awk破解: awk 'BEGIN { while (getline < ".ssh/authorized_keys") { if ($1!~"ssh-(r|d)sa") {continue} print "Fingerprint for "$3 system("echo " "\""$0"\"> /tmp/authorizedPublicKey.scan; \ ssh-keygen -l -f /tmp/authorizedPublicKey.scan; \ rm /tmp/authorizedPublicKey.scan" ) } }' 但有没有更简单的方法或SSH命令我没有find?

暂时禁用客户端的ssh公钥authentication

有没有办法暂时禁用公钥authentication时ssh'ing,并使用密码authentication呢? 我目前想访问远程服务器,但我使用另一台笔记本电脑,不是我的。 浏览该链接 ,我发现命令ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no host1.example.org无处不在。 是的,这对我不起作用。 我正在使用:OpenSSH_5.9p1 Debian-5ubuntu1,OpenSSL 1.0.1 2012年3月14日 编辑:我也试图键入ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no但仍然有“权限被拒绝(公钥)”。 那么,在远程服务器中是否有一个特定的configuration要执行? 或者,如果这个命令能按预期工作的话? 非常感谢您的build议。

一个分配SSH公钥的系统

我们有许多不同的系统,由几个人pipe理。 我们select使用SSH公钥authentication来访问这些系统。 这样做效果很好,因为不需要pipe理或共享pipe理帐户密码,也不需要记住各个系统的密码(只有密码到您的私钥),不需要与每个远程命令交互(input密码) 。 问题是,安装在系统上的公钥需要以某种方式进行pipe理。 人们来来去去,钥匙可能会受到损害,责任也在改变(今天有权进入一个系统的人可能被授权明天访问另一个系统)。 目前我们通过手动编辑〜/ .ssh / authorized_keys文件来pipe理每一个需要这个文件的帐号,但是这样做很多工作,容易出错。 在这种情况下是否有任何现成的工具来pipe理公钥? 你有自己的解决scheme吗? 或者,这种pipe理系统的想法有缺陷吗?