可以不用密码登录远程主机,即ssh-copy-id <host>
。
但是,每次登录远程主机时,我都需要输入一次性密码 (OTP)。我怎样才能跳过这个 OTP 部分?是否可以将 ssh 会话存储在我的 PC 上有限的时间内?
我正在使用 Ubuntu 16.04.02
答案1
不可以。“第二因素”的意义在于它与密码不同,因此它不应该与第一因素存储在同一设备上。
一次性密码是交互式质询-响应,因此不建议自动化(出于安全考虑)。
但是...OpenSSH 中有一个选项ControlMaster
功能ControlPersist
,它可以解决您的问题。它允许您使用单个 TCP 连接发起多个 ssh 会话,并在原始连接结束后保留此主连接一段时间。
怎么做?将此配置片段存储在~/.ssh/config
:
Host your-server
ControlPath ~/.ssh/control-master-%C
ControlMaster auto
ControlPersist 5m
但请确保~/.ssh/control-master-%C
系统上的任何其他用户都无法访问所创建的套接字,因为在这种情况下他们也能够连接到您的服务器!