如何为 Active Directory 用户将 ssh 公钥添加到 Clustered NetApp?

如何为 Active Directory 用户将 ssh 公钥添加到 Clustered NetApp?

我正在尝试在 netapp 实例上加载我的 ssh 公钥,但它似乎不允许我添加我的密钥。

lcy2-dosvm01::security login publickey> load-from-uri -uri http://pastebin.com/raw.phpi=mgB0Vq3x -username sorins

Error: command failed: invalid operation

lcy2-dosvm01::security login publickey> load-from-uri -uri http://pastebin.com/raw.phpi=mgB0Vq3x -username domain\sorins

Error: command failed: entry doesn't exist

第二次尝试

lcy2-dosvm01::security login publickey> load-from-uri -uri http://pastebin.com/raw.phpi=mgB0Vq3x -username domain\\sorins

Error: command failed: invalid operation

第三次尝试

    lcy2-dosvm01::security login publickey> security login publickey> create -username citrite\sorins -index 0 -publickey "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfoZsNvyBlZJYuLSz+qw4xunkjETo6NElkYw5dCEFl6W5JDVZRjN3ClVHKDzEa2+S9jGzdRC3nlWA5vVRIvH/tX5tT+rLxkr6rgEiSajvwq5fpmla53cFX9W/y6qhL8tz//1Q3BskJS/NUPy8oUdRk7bcSrLyLJaDJxmf1HEE7k3TJ7+9sCEqBWnpQpFWUrTdaPQZISSy172P+beWVCuZQ69mowJ1/6h7czcd+HoZwe3v6qpkjbCmx9FTCYWuua2n7BcMzB5Hh5y4ovNab9zBKoUviOdBpC3ut159WVgQmpnOHPem0whNTxhADEcEcl6HfMi/MqZi6gmjx2ZkaiJpnHL0y1M/4qaEQemsgvEeFZDdJDdG1x42rw5e5vzh4OHAhGEKfA8NCcIWyd9wgusJoatyS/KKybmZ0Q0YOOB5AhDknaClRueBHkvg3vLB6sE47RlFgXTwZrS9N1pl89/4xX6dcnugTPxLm+BqqeUaDKeV81PEao4RVOxuvnTPVKjJhaWuvfmp65ZFQlQYiGWQ7latPEMaYLYwlvgTKBayPwZJJkEGRMjlY/6qWGQWkKzjhgRlgLwHcwLj3GPbxX4vmIsgqBI06NngETWztR71hU/CUz+ZGKQsZjhxqXZkueeW2iLFtGPggGawKgEbhx0eRHBnxrKzPuYDD8BF3q8o71w== Sorin Sbarnea 20150723"

Error: "publickey>" is not a recognized command

我需要说明一下,我用来登录的用户名是domain\\sorins因为这是一个 AD 帐户。bash 需要双反斜杠,但我尝试了各种选项,似乎 NetApp 给出了一个无用的错误,例如“无效操作”。

答案1

从手册中用户帐户的身份验证方法,看起来域和公钥是两种不同的身份验证方法。我找不到有关如何同时使用它们的任何信息。authmethod据我所知,每个登录方法只有一个参数,因此如果您的登录方法是 ssh,您的身份验证方法可以是域或公钥。另请参阅手册页security login create

答案2

最近不得不这样做。注意 - 这是针对 7 模式的,我不确定它是否适用于 CDOT。但我发布它是因为我们确实获得了与域用户帐户一起使用的 ssh 公钥。

有一种方法,但有点糟糕——你看,你需要有一个与你的域名匹配的 'ssh' 目录 - 这意味着你需要一个带有反斜杠的目录名!

  • 生成密钥对ssh-keygen -t dsa(可能需要 rsa - 但旧版本的 filer 如 dsa 更好)
  • 复制id_dsa.pub到文件“vol0”下/etc/sshd/<username>/ssh/authorized_keys
  • 通过以下方式登录文件管理器ssh
  • 重命名目录:
    • mv /etc/sshd/username/ssh /etc/sshd/username/.ssh
    • mv /etc/sshd/username /etc/sshd/DOMAIN\username
  • 它看起来像 Windows 中的“旧式”文件名,例如DOMAIN~1

然后,你应该能够将 ssh 上的默认登录名设置为DOMAIN\username

我认为这对 CDOT 有用,但可能需要一定程度的黑客技术才能到达正确的地方。(恐怕我不能肯定地说 - 我没有运行 CDOT - 但发布此信息以防它相关/有用)。

答案3

这是我使用 8.3 时得到的结果:

首先,您必须为已创建的用户添加公钥身份验证作为身份验证方法:

Cluster::> security login create -vserver <vserver> -user-or-group-name <username> -application ssh -authmethod publickey  

然后你可以创建公钥:

Cluster::> security login publickey create -vserver <vserver> -username <username> -index 0 -publickey "ssh-rsa MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB username@examplehost"

根据您的描述,您似乎需要首先创建身份验证方法。

相关内容