如何通过 CPAN 模块 Net-OpenSSH 设置 GSSAPIAuthentication 和 GSSAPIDelegateCredentials 属性
Posted
技术标签:
【中文标题】如何通过 CPAN 模块 Net-OpenSSH 设置 GSSAPIAuthentication 和 GSSAPIDelegateCredentials 属性【英文标题】:How to set GSSAPIAuthentication and GSSAPIDelegateCredentials attributes through CPAN module Net-OpenSSH 【发布时间】:2015-12-12 13:43:04 【问题描述】:我正在尝试通过模块 http://search.cpan.org/~salva/Net-OpenSSH-0.62/ 创建一个 ssh 句柄。我尝试将GSSAPIAuthentication
和GSSAPIDelegateCredentials
设置为“否”,但如果我的.ssh/config
是这样的,这些设置不会生效:
$ cat myusername/.ssh/config
Host *
CheckHostIP no
StrictHostKeyChecking no
HashKnownHosts no
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
UserKnownHostsFile /dev/null
LogLevel ERROR
这就是我尝试设置GSSAPIAuthentication
和GSSAPIDelegateCredentials
的方式。还有一种方法可以在打开的 ssh 构造函数中提供-F
选项,以便默认情况下 ssh 使用其他一些配置文件,而不是使用我的用户名的一个用户?
$self->ssh = Net::OpenSSH->new($host,
user => $username,
passwd => $password,
timeout => $timeout,
default_stderr_discard => 1,
kill_ssh_on_timeout => 1,
master_opts => [-o => "UserKnownHostsFile=/dev/null",
-o => "GSSAPIAuthentication=no",
-o => "GSSAPIDelegateCredentials=no",
-o => "StrictHostKeyChecking=no"]);
【问题讨论】:
【参考方案1】:只需在 master_opts 下添加 -F => 'somepath/config':
master_opts => [-F => 'somepath/config']
还有这样一行:
$self->ssh->_ssh_opts = ['-F', 'somepath/config'];'
【讨论】:
以上是关于如何通过 CPAN 模块 Net-OpenSSH 设置 GSSAPIAuthentication 和 GSSAPIDelegateCredentials 属性的主要内容,如果未能解决你的问题,请参考以下文章