Questions tagged «key-authentication»

与密钥身份验证有关的问题,密钥身份验证是一种可以替代密码身份验证的身份验证类型。不需要用户密码,而是可以通过使用具有公共和私有密钥的非对称密码算法来确认客户端的身份。

5
从一台服务器到另一台的SCP,无密码提示
scp从一个盒子到另一个盒子而不提示输入密码的最佳方法是什么? 有两个服务器: 服务器A(10.152.2.10): /home/oracle/export/files.txt 服务器B(10.152.2.11): /home/oracle/import/ 如果我想使用scp服务器A到服务器B 的文件传输,而不会提示输入密码 [从服务器A运行它,/home/oracle/export/] scp files.txt oracle@10.152.2.11:/home/oracle/import 输入命令后,这将提示我输入密码。 我了解需要生成密钥库并将其复制到服务器A。因此[在服务器A]: ssh-keygen -t rsa 这给了我两个文件存储在/home/oracle/.ssh: id_rsa id_rsa.pub 1.我是否应该将两个文件(id_rsa,id_rsa.pub)复制到服务器B中/home/oracle/.ssh? 在对此进行一些Google搜索时,提到了一些有关将其附加/连接到authorized_keys的文章。 2.我应该自己创建这个文件吗? 我似乎对执行此操作的正确方法感到困惑。 顺便说一句,两台服务器都在运行Suse Linux Enterprise Edition 9。

2
使用SSH的一致且安全的无密码帐户方法
我必须承认,在某些情况下,我喜欢没有密码的服务器。典型的服务器容易受到任何具有物理访问权限的人的攻击。因此,在某些情况下,将其物理锁定是可行的,此后再信任任何物理访问。 基本概念 从理论上讲,当我物理上到达这样的服务器时,只需键入root登录名就可以执行无需密码的管理任务,并且不需要输入密码。这可能适用于用户帐户,但实际上并不能真正访问它们。因此,(偶尔)本地访问不需要系统密码。 远程访问服务器(用于管理或用户帐户)时,我希望始终使用SSH私钥。为刚创建的帐户设置SSH密钥非常容易,因此(常规)远程访问不需要系统密码。 # user=... # # useradd -m "$user" # sudo -i -u "$user" $ keyurl=... $ $ mkdir -p .ssh $ curl -o .ssh/authorized_keys "$keyurl" 结论是,从理论上讲,我们不会为此类用例使用任何系统密码。所以问题是,我们如何配置系统和用户帐户,以使其以一致且安全的方式发生。 本地访问详细信息 我们如何确保无需密码即可在本地访问root帐户?我认为我们不能使用passwd -d它,因为这会使root用户访问权限太宽容,并且没有特权的用户可以免费切换到root 用户,这是错误的。我们无法使用,passwd -l因为它阻止我们登录。 请注意,本地访问专门涉及使用本地键盘的访问。因此,有效的解决方案不得允许任何用户切换(无论使用su还是sudo)。 远程访问详细信息 直到最近,上述解决方案仍然有效,但现在SSH开始检查锁定的用户帐户。passwd -d由于相同的原因,我们可能无法使用。我们不能使用passwd -u它,因为它只是抱怨它将导致什么passwd -d。 有一种解决方法,该部分使用虚拟密码。 user=... echo -ne "$user:`pwgen 16`\n" | chpasswd 也可以完全关闭SSH中的锁定帐户检查功能,但是保留锁定帐户的支持并能够对其进行解锁会更好。 最后的笔记 …

4
如何使无密码登录工作
我生成了一个密钥并将其复制到我的目标: ssh-keygen ssh-copy-id username@hostname 我将密钥的位置保留为默认位置,并且未设置任何密码短语。 在那之后的一小段时间内,我能够在ssh username@hostname没有提示输入密码的情况下进行操作,然后由于某种原因它停止工作。

2
限制SFTP的无密码备份
我需要使用Duplicity将服务器备份到计算机上: duplicity /etc sftp://backup@my.dynamic.ip.address//home/backup 在此之前,我需要通过以下操作允许无密码访问: $ ssh-keygen $ ssh-copy-id backup@my.dynamic.ip.address $ ssh backup@my.dynamic.ip.address 我的问题是,如何将命令限制为仅在生成的公钥中进行此SFTP传输? command="restrict to sftp",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA… 而且由于我使用的是动态IP地址,因此每次IP变化时如何克服“缺少已知主机”的问题?


2
通过stdin在`ssh-copy-id`中发送密码
我需要自动化一些身份部署,最好使用ssh-copy-id。 我正在尝试通过stdin提供密码,这可以ssh通过使用-S标志来实现。我知道可以在命令中ssh使用该-o标志发送其他选项,ssh-copy-id但是手册页中没有该标志的用法示例。 因此,我尝试ssh-copy-id使用以下方式通过stdin 传递SSH密码: $# echo $TMP_PASS | ssh-copy-id -p2222 -i key.pub user@host -o "-S" 但是我得到的是: /bin/ssh-copy-id: ERROR: command-line: line 0: Bad configuration option: -s 编辑: 我正在尝试通过stdin提供密码,这可以 ssh通过使用-S标志来实现。 这个说法是错误的。我实际上已经从sudo人那里读到了这个标志。

1
ssh进入没有主目录的帐户
作为我上一个问题的跟进,我决定如下创建本地用户帐户。 adduser --system --no-create-home USERNAME 现在,我希望本地用户能够使用来访问计算机ssh。根据我的理解,其ssh工作原理如下。 假设我有2台机器(例如alpha和beta)。 从Alpha机:ssh user@beta alpha的公钥将出现~/.ssh/authorized_keys在beta机中。 alpha的私钥将出现/~/.ssh在alpha机器中。 现在,我已经计划实施没有回家的用户。因此,假设我adduser进入没有任何用户家园的Beta机器,我是否仍然可以从alpha转换为beta?

1
给定私有SSH密钥,如何恢复我的公共密钥?
我以某种方式丢失了id_rsa.pub文件。我还有id_rsa档案。如何从私钥中恢复公钥? (ssh-copy-id在ssh-keygen报告“ /root/.ssh/id_rsa已经存在”的同时报告“错误:未找到身份” 之后出现了这个问题。ls ~/.ssh指出了问题所在,id_rsa但没有id_rsa.pub。我找到了解决方案,但它埋在了底部)在Ubuntu支持论坛上的一篇长文章)

3
如何使用密码通过远程ssh登录锁定自己的帐户?
我不想完全禁用使用密码进行的远程登录,但是我想这样做,以便只能通过密钥对身份验证来访问我的帐户(还有其他一些用户希望使用密码登录)。是否可以在每个用户的基础上进行更改,而理想情况下无需更改系统设置? 为了明确起见,我的帐户具有sudo访问权限,因此我不想锁定密码。


1
ssh-agent缺少类似于sudo的不活动/空闲超时功能是否有技术原因?
ssh-agent -t在[1]上对现有功能进行了简短的讨论,早在2001年就有一篇关于debian-devel [2]的帖子,希望提供不活动超时功能。SE [3]上针对选美也有类似的讨论。 我想知道地球上的其他地方如何保护ssh密钥-我是否错过了一些明显的东西,而这对于我来说却是一个痛苦点,而且显然没有其他人吗?具体来说,我在考虑脚本化的ssh交互,例如与ansible的交互。今天看来,您的选择是: 例如,将代理中密钥的有效期设置为令人担忧的长时间。1h或您的脚本的最大运行时间可能是(我怀疑很多人都允许他们的sudo re-auth超时延长这么长的时间!)-但是seahorse/ gnome-keyring-daemon几乎不支持这么多[4] 长时间运行脚本,并每5/10/15分钟重新输入一次密码:现在您可以轻松地看到每天输入20次密码 破解您自己的自制解决方案以模仿此缺少的功能,也许与您的Shell的TMOUTShell var 结合使用(感谢freenode #openssh IRC上的人员的建议) 根本没有设置密钥生存期,即您的代理会永久加载您的密钥,或者直到您杀死/重新启动它为止 如果您对身份验证所使用的每种角色使用简短的ssh代理超时,强密码短语和不同的密钥文件,那么这一天会非常令人沮丧! 我已经尝试了gpgkey2ssh和智能卡,但这并不能真正解决这个特定问题:我仍然想要ssh-agent功能,并且我不想每隔5分钟重新进行身份验证只是为了防止我的私钥暴露我的计算机空闲时在内存中存储。 我做错了吗? [1] 配置SSH代理的默认超时 [2] https://lists.debian.org/debian-devel/2001/09/msg00851.html [3] /server/518312/putty-pageant-forget-keys-after-period-of-inactivity [4] https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/129231

6
允许普通用户使用无法读取的私钥进行SSH
假设我有一台机器(这里称为客户机器),只允许一小部分人(称为支持人员)通过SSH(仅支持一个机器)一个帐户(支持访问帐户)进入。 支持人员只能使用密钥登录客户的计算机。此外,支持人员可以发展,因此不允许离开支持人员的任何人登录任何客户计算机。因此,禁止员工阅读用于登录客户机器的私钥。另外,禁止authorized_keys在客户计算机上修改文件。 为了实现该配置,我想到了使用支持人员登录(使用LDAP身份验证,但这是另一个问题)并且包含私钥的SSH代理的想法。 问题是:如何允许支持人员在无法读取SSH私钥的情况下使用它? 我相信我必须使一个守护程序在代理计算机上以root用户身份运行,该守护程序将接受用户的请求并为他们打开SSH会话,但是我不知道该怎么做。有任何想法吗?

3
具有密码保护的SSH密钥的parallel-ssh
在parallel-ssh(和相关工具)执行任务时,我想使用受密码保护的SSH密钥。但是,我无法使它正常工作。 关于的所有文档parallel-ssh表明,我应该可以使用--askpass或-A执行此操作: -A --askpass Prompt for a password and pass it to ssh. The password may be used for either to unlock a key or for password authentication. The password is transferred in a fairly secure manner (e.g., it will not show up in argument lists). However, be aware that …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.