在 my 中,/etc/ssh/ssh_config
我将 的值设置PKC11Provider
为我的 PKCS11 库的路径。
但是,由于智能卡并不总是存在,我想确保非交互式 ssh 会话(如由 cron 运行的会话)不使用 PKCS11 库,而是仅在我的硬盘驱动器上寻找密钥。
所以我需要像这样输入一个 ssh 命令:
$ ssh -o PKCS11Provider= server.com
Run Code Online (Sandbox Code Playgroud)
但是,这是无效的:
command-line line 0: Missing argument.
Run Code Online (Sandbox Code Playgroud)
如何在命令行上指定要取消设置配置变量?我搜索了联机帮助页和谷歌,但没有找到答案(可能只是谷歌不好)。
我尝试将 value 放在那里no
,但是在放置任何其他废话时,ssh 只会抱怨找不到动态库。它可以工作,但是它会发出这个错误,我觉得这不是正确的方法。
谢谢你的想法。
编辑 2020:这些天(使用 OpenSSH 8.1p1),有一个关键字none
,它应该允许您取消设置之前为PKCS11Provider
配置选项设置的值。
无法通过ssh
内部配置读取的方式取消设置配置值。
你应该反过来想一下。在哪里设置这个值?你应该在 中执行此操作~/.ssh/config
。
如果您仅将智能卡用于特定主机,则应将此选项放入该Match host
块中。
您在您的用户下运行 cron 脚本吗?您可以使用Match exec
block 来检查您是否运行交互式会话或从 cron 运行。或者您甚至可以编写一些脚本来检查购物车是否存在(再次使用Match exec
)。如果您使用不同的用户运行它,请给他不带此选项的配置文件(在他的主目录中)。
或者您可以简单地提供不同的ssh_config
cron 脚本ssh
(使用-F
开关),在这种情况下您不会设置此选项。这种方式有很多可能性。如果您特别感兴趣,我可以添加更多详细信息。
归档时间: |
|
查看次数: |
3150 次 |
最近记录: |