And*_*son 19 passwords public-key passphrase
我正在尝试使用公钥从 NAS SSH 到网络服务器。NAS 用户是“root”,网络服务器用户是“backup”
我已正确设置所有权限,当我调试 SSH 连接时,我得到:(调试的最后一点)
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /root/.ssh/id_dsa.pub
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/root/.ssh/id_dsa.pub':
Run Code Online (Sandbox Code Playgroud)
我正在使用命令:
ssh -v -i /root/.ssh/id_dsa.pub backup@webserver.com
Run Code Online (Sandbox Code Playgroud)
它要求输入密码的事实肯定是一个好兆头,但我不希望它提示输入此密码或密码(如果我在密码上按“返回”就会出现)
and*_*ler 24
那是因为您的私钥已加密...
您可以ssh-add使用以下命令将您的密钥添加到 ssh 代理,或从密钥中删除密码(以及加密):
ssh-keygen -p -f /root/.ssh/id_dsa -N ''
Run Code Online (Sandbox Code Playgroud)
哦,我刚刚意识到您尝试使用您的公钥进行身份验证...您想在那里使用私钥:
ssh -v -i /root/.ssh/id_dsa backup@webserver.com
Run Code Online (Sandbox Code Playgroud)
并且为了绝对确定,文件的内容id_dsa.pub进入~backup/.ssh/authorized_keys网络服务器。您可以使用以下命令自动执行此操作
ssh-copy-id -i /root/.ssh/id_rsa.pub backup@webserver.com
Run Code Online (Sandbox Code Playgroud)
当我拥有的私钥不是 OpenSSH 格式时,这发生在我身上。
我最初使用 PuttyGen 在 Windows 上生成了我的密钥,并且被同样的东西反弹了。
我能够通过在 PuttyGen 中加载密钥并单击“转换”将其转换为 OpenSSH 格式来修复它。