如何在两个不同帐户之间设置无密码身份验证

     2023-03-23     22

关键词:

【中文标题】如何在两个不同帐户之间设置无密码身份验证【英文标题】:How to setup the passwords-less authentication between two different accounts 【发布时间】:2016-07-10 08:01:06 【问题描述】:

我们能否在两台机器的两种不同用途之间设置无密码身份验证。

例如:计算机 A 有用户 A,计算机 B 有用户 B。 我们可以设置用户 A 从计算机 A 使用他的用户帐户 (A) 登录计算机 B 的密码 ssh。

谢谢!!

【问题讨论】:

谷歌搜索您的问题如何设置两个不同帐户之间的无密码身份验证 我找到了一百个很棒的教程。为什么您更喜欢询问并等待答案而不是做最少的研究 【参考方案1】:

如果我理解您的问题,您能否设置 ssh-keys 以允许 user Auser B 登录到两台不同的计算机 A 和 B 不提供密码?当然可以,但是 user A 无法通过 ssh 登录到 user B 的帐户,就像 user A 可以登录到 user B 在本地计算机上的帐户。 ($HOME 等的目录所有权不同。这就是 su 的用途)。

要创建无密码登录,让我们以 用户 A计算机 A 为例,他们在 计算机 B 上有一个帐户并想@ 987654324@ 并在不提供密码的情况下登录。

(1) 用户 A 在 计算机 A 上使用 ssh-keygen -t ecdsa 创建一个 public_keyprivate_key(对于ecdsa 加密密钥。由于当前 openssh 中的不安全性,不再支持 dsa 密钥)。当ssh-keygen 运行时,它将创建两个文件(默认在$HOME/.ssh 中)。密钥是id_edcsa(私钥)和id_ecdsa.pub(公钥)。

(2)用户A要在没有密码的情况下登录计算机B,他必须先转移他的public_key em> 到 计算机 B 并将其添加到 计算机 B 上的 $HOME/.ssh/authorized_keys 文件中。例如来自计算机 A

$ ssh-keygen -t ecdsa  # generate key-pair
$ cd ~/.ssh            # verify private and public keys created
$ rsync -a id_ecdsa.pub hostnameB:~/.ssh/id_ecdsa.pub.hostA
  password: enter pw

$ ssh hostnameB
  password: enter pw
$ cd ~/.ssh
$ cat id_dsa.pub.hostA >> authorized_keys  # permissions must be 0600
$ exit                # exit hostnameB

注意:上面你可以rsync public_key 目录到计算机B ~/.ssh/authorized_keys 文件如果你确定一个文件不存在完全节省时间跳过上面将传输的文件复制到其中的最后一步。例如

$ rsync -a id_ecdsa.pub hostnameB:~/.ssh/authorized_keys

(之后您可能需要检查计算机 B 上的权限)

现在进行测试,用户 A 应该不再需要密码来长时间进入 计算机 B。从计算机A

$ ssh hostnameB
$ welcome to hostnameB>

现在您只需重复为每个用户创建密钥对并将 public_key 传输到您想要访问 w/oa 密码的主机并添加 public_key 的过程到 authorized_keys 文件。 (注意:您可以将相同的 private_key 复制到每个人的 ~/.ssh 目录,并将相同的 public_key 添加到每个人的 ~/.ssh/authorized_keys 文件中,但这有点违背了有单独的键)。 注意: 每个authorized_keys 文件必须由拥有$HOME/.ssh 目录的用户所有,并且文件权限必须为0600 (-rw-------) 或sshd 将不允许连接。

仅此而已(您可以签入/etc/ssh/sshd_config 以确保authorized_keys 文件的名称未被更改为其他名称。

试一试,如果您有任何问题,请告诉我。我已经做了数百次了——只要你遵守这些规则就没有问题。

【讨论】:

很高兴它有帮助,一旦你完成了一两次它就非常简单,但是第一次弄清楚它可能很困难(特别是考虑到网络上写得不好的例子的数量)

在两个不同的帐户上使用相同的公共 ssh 密钥

】在两个不同的帐户上使用相同的公共ssh密钥【英文标题】:usingthesamepublicsshkeyontwodifferentaccounts【发布时间】:2011-05-0406:09:46【问题描述】:情况是这样的:我家有一台机器(我们称之为house_machine),我的办公室有另一台机器... 查看详情

如何合并 2 个不同的身份验证信息?

】如何合并2个不同的身份验证信息?【英文标题】:Howtomerge2differentauthinformation?【发布时间】:2017-06-0115:50:51【问题描述】:首先,我使用电子邮件注册并注销,然后我使用相同的电子邮件进行FB登录。目前它创建为两个不同的... 查看详情

如何在 Linux 上使用 pyodbc 对 Active Directory 帐户使用用户/密码身份验证

】如何在Linux上使用pyodbc对ActiveDirectory帐户使用用户/密码身份验证【英文标题】:Howtouseuser/passwordauthforActiveDirectoryaccountwithpyodbconlinux【发布时间】:2019-11-0107:06:28【问题描述】:我必须在linux上使用pyodbc连接到SQLServer。该帐户是... 查看详情

无密码身份验证如何保障用户隐私安全?

在互联网世界,验证用户身份是一个常见又重要的场景,应用最广泛的方式当属帐号密码验证。随着开发者对身份验证安全性要求不断提升,加之用户更加注重过程中的隐私与便捷,身份验证的方式逐渐多样化,有动态令牌、短... 查看详情

vue。如何通过不同环境显示不同登录页面

参考技术Alogin控件比如有“学生、教师、部门、游客”四种不同的类型,各种类型的数量都很多,怎么设置不同的用户登录跳转不同的页面啊?--------------------------不是很明白具体需求,不过大概理解的,个人觉得有以下几种:1... 查看详情

如果用户已经无密码登录,firebase 可以设置密码身份验证吗?

】如果用户已经无密码登录,firebase可以设置密码身份验证吗?【英文标题】:Canfirebasesetuppasswordauthenticationifuseralreadyhaspasswordlesssignon?【发布时间】:2019-11-1216:17:28【问题描述】:我在我的前端JS项目(firebaseweb)中使用了firebase... 查看详情

如何在C#中模拟没有密码的Windows身份验证登录用户

】如何在C#中模拟没有密码的Windows身份验证登录用户【英文标题】:Howtoimpersonatewindowsauthenticatedloginuserwithoutpasswordinc#【发布时间】:2019-04-1810:17:19【问题描述】:如何在windows身份验证应用程序c#中模拟没有密码的用户?【问题... 查看详情

如何在 Angular 7 Web 应用程序中安全地进行无密码(重要)Windows 身份验证

】如何在Angular7Web应用程序中安全地进行无密码(重要)Windows身份验证【英文标题】:HowcanIsecurelydopassowordless(Important)windowsauthenticationinanangular7webapplication【发布时间】:2020-09-2515:08:26【问题描述】:如何在Angular7Web应用程序中安... 查看详情

谷歌帐户的不同身份验证令牌

...刷新。但正如我所说,我每次都得到不同的令牌。我应该如何管理 查看详情

如何在启用电话身份验证的情况下导出 Firebase 用户帐户

】如何在启用电话身份验证的情况下导出Firebase用户帐户【英文标题】:HowtoexportfirebaseuseraccountwithphoneAuthenabled【发布时间】:2018-01-2703:03:26【问题描述】:我需要导出和导入firebase用户帐户。它适用于使用电子邮件密码验证注册... 查看详情

无法从具有相同身份验证器的不同应用添加新的自定义帐户

...enticator【发布时间】:2015-11-2721:03:10【问题描述】:我有两个应用程序都使用相同的自定义帐户类型。这两个应用程序是完全独立的,只是共享帐户。当其中一个启动时,它会检查现有的自定义帐户,如果未找到任何帐户,则会... 查看详情

如何在 Rails 应用程序中使用用户密码验证帐户终止?

】如何在Rails应用程序中使用用户密码验证帐户终止?【英文标题】:Howtoverifyaccountterminationwithuser\'spasswordinRailsapp?【发布时间】:2013-10-2904:35:12【问题描述】:我按照thistutorial(以及其他)从头开始为我的Rails应用程序构建了身... 查看详情

如何在spring security中为来自两个不同表的不同用户配置身份验证?

】如何在springsecurity中为来自两个不同表的不同用户配置身份验证?【英文标题】:Howtoconfigureauthenticationinspringsecurityfordifferentusersfromtwodifferenttables?【发布时间】:2020-07-0815:57:24【问题描述】:在我的SpringBoot应用程序中,我有2... 查看详情

Firebase 无密码电子邮件身份验证无法在 iOS 上打开应用

...酷炫的Firebase电子邮件链接登录功能,但失败了。我成功设置发送电子邮件链接。但是,我无法获得打开应用程序的电子邮件链接。它只是打开预览页面,就像无法打开应用程序一 查看详情

Quarkus:如何在微服务之间进行身份验证?

】Quarkus:如何在微服务之间进行身份验证?【英文标题】:Quarkus:howtoauthenticatebetweenmicroservices?【发布时间】:2021-01-1005:21:31【问题描述】:我们有一个需求,我们需要在两个Quarkus微服务之间进行一些服务到服务的通信。基础设... 查看详情

如何在 Firebase 身份验证中实现多用户帐户登录和切换?

】如何在Firebase身份验证中实现多用户帐户登录和切换?【英文标题】:HowdoIwantimplementmultipleuseraccountloginandswitchinginFirebaseAuthentication?【发布时间】:2018-05-0713:08:55【问题描述】:在GmailAndroid应用中,您可以在用户帐户视图上滑... 查看详情

本地 SQL 和 Windows 身份验证的不同模拟

...【发布时间】:2014-01-1515:26:34【问题描述】:我试图了解如何在访问SQLServer时模拟不同的用户。基本上,我的C#应用程序必须使用启动时使用的相同帐户访问本地文件系统,但在访问数据库时应该使用另一个帐户。如果数据库是... 查看详情

如果身份验证令牌在帐户身份验证器中过期,则使用刷新令牌

】如果身份验证令牌在帐户身份验证器中过期,则使用刷新令牌【英文标题】:Userefreshtokenifauthtokenexpiredinaccountauthenticator【发布时间】:2016-04-0408:46:55【问题描述】:我有一个使用AccountManager来存储用户帐户的应用。用户使用OAu... 查看详情