我正在遵循一个教程,进展顺利。我用ssh连接没问题。然后我创建了私钥和公钥。这引出了我的第一个问题,它说密钥已保存到
您的身份信息已保存在 /home/localuser/.ssh/id_dsa 中。
您的公钥已保存在/home/localuser/.ssh/id_dsa.pub 中。
但是当我查看该文件夹时,我没有看到.ssh文件夹。这样做是出于安全原因并且应该隐藏吗?
接下来,教程指示使用以下命令手动将公钥复制到远程计算机:
scp ~/.ssh/id_dsa.pub[电子邮件受保护]:.ssh/authorized_keys
当我运行该命令时,我收到此响应。
ssh:连接到主机 mywebpage.com 端口 22:连接被拒绝丢失连接
所以,就像我第一次通过 ssh 连接时所做的那样,我添加-p 2222在......的最后SCP命令。然后我得到这样的回应:
2222:没有这样的文件或目录
我也尝试过大写-P 2222
我究竟做错了什么?
PS 我正在使用 Linux Mint 15 和 Cinnamon
编辑
好的。工作-p 2222
后立即添加ssh
。但是我遇到了另一个问题。
然后它传输了文件。但是,在传输之前我必须自己创建目录。现在它应该询问我的密码而不是我的密码。它没有这样做,所以教程说要运行这些命令。chmod 700 ~/.ssh
& chmod 600 ~/.ssh/authorized_keys
.但当我登录时,它仍然要求我输入密码,而不是我的密码。
为什么它不起作用?
编辑:我运行ssh
时-v
提到了以下内容public key
:
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /home/localusername/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /home/localusername/.ssh/id_rsa
debug1: Trying private key: /home/localusername/.ssh/id_ecdsa
debug1: Next authentication method: keyboard-interactive
我会注意到这是在登录之前。
答案1
-P 2222
紧接scp
在位置参数之前添加
scp -P 2222 ~/.ssh/id_dsa.pub [email protected]:.ssh/authorized_keys
答案2
但是当我查看该文件夹时,我没有看到 .ssh 文件夹。这样做是出于安全原因并且应该隐藏吗?
在 *nix 中,名称以 a 开头的目录和文件.
通常默认对用户隐藏。您可以ls
通过执行以下操作来查看它们ls -a
。
尝试将 放在-P 2222
命令行上的文件之前。您必须使用大写 P,即-P
— 小写p
用于其他用途。看man scp
。
scp
用于ssh
安全地进行数据传输,这就是您需要指定 SSH 端口的原因(因为您在非标准端口上运行它)。