首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >智能卡认证SSH远程客户端

智能卡认证SSH远程客户端
EN

Security用户
提问于 2016-06-10 17:51:56
回答 2查看 2.3K关注 0票数 9

我希望在SSH会话中使用智能卡身份验证。现在,有时我希望在ssh会话中使用ssh客户机。所以这种情况:

我的带有智能卡的桌面计算机有一个到shell.provider.com的ssh会话。从shell.provider.com,我有一个ssh会话到ssh.Provider2.com(有时我称这种情况为“跳过”)

我的智能卡被插入到桌面计算机中。是否可以(以任何方式)使用智能卡身份验证登录到login .Provider2.com?

EN

回答 2

Security用户

发布于 2016-06-10 19:05:07

您可以使用ssh-agent添加智能卡,然后将代理转发到其他主机。这将允许您从第一个主机上使用本地智能卡对第二个主机进行身份验证。简言之:

代码语言:javascript
复制
eval `ssh-agent`               # if the agent is not running yet
ssh-add -s /path/to/pkcs11.so  # probably /usr/lib64/opensc-pkcs11.so
                   # or Ubuntu: /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so
# enter your pin
ssh-add -l                     # should list your smartcard
ssh -A shell.provider.com      # should not prompt for pin
ssh shell.provider2.com        # from the shell.provider.com
票数 5
EN

Security用户

发布于 2017-12-22 21:04:13

智能卡的解决方案可以是

  • 使用代理转发或
  • (带和不带sc)对ssh使用proxy命令。

您可以在~/.ssh/config中使用主机B的配置,也可以在ssh调用中使用它作为参数。

代码语言:javascript
复制
Host B
  Hostname <the-real-hostname-for-B>
  User <user>
  Port 22
  ProxyCommand ssh -p 22 -q -W %h:%p <the-real-hostname-for-A>

一个优点是,您将有一个主机别名,也有代码完成(较少键入)。

代码语言:javascript
复制
ssh <user>@B

注意:代理转发在共享机器上是一种糟糕的做法,因为通过环境变量SSH劫持代理_八月_袜子非常容易使攻击者能够接管您的身份和身份验证机制以跳转到其他主机。

当使用yubikeys作为您的智能卡时,您可以使用在需要密码操作(如登录)时需要物理触摸智能卡的特性。这样,攻击者还需要对您的智能卡进行物理访问,从而在大多数情况下攻击。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/126685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档