我有一台服务器,可以通过SSH与我的密钥文件(例如)建立SSH连接id_rsa.pub
。我在客户端和服务器端使用Debian。
我遵循了一个教程来禁用root身份验证和密码使用,以提高安全性(通过/etc/ssh/sshd/sshd_config
在服务器上配置文件)。
到目前为止,我可以轻松地将rsync
文件从计算机同步到服务器。
几天前,我使用了cron作业,为此,我不得不在服务器端重置我的root密码。
自那时以来,它一直是不可能的,我用rsync
的SSH
; 我收到以下消息:
[email protected]: Permission denied (publickey).
rsync: connection unexpectedly closed (0 bytes received so far)[sender]
rsync error: unexplained error (code 255) at io.c(235)[sender=3.1.3]
有一些类似的主题,但是我认为我的情况有所不同,因为我认为问题是由于在服务器上重置了密码所致。我也曾在Ask Ubuntu网站上问过一个问题,但我想也许这里的人在权限问题上更熟练。
我不知道如何解决该问题(我在终端命令中做了一些管理,但我不是计算机专家)。请问你能帮帮我吗?
仅供参考,请参阅本教程调整/etc/ssh/sshd_config
不使用密码:
#Uncomment or add the following line.
#This allows the server to give its DSA footprint in case of an ssh connection.
HostKey /etc/ssh/ssh/ssh_host_dsa_key
#Then set the next parameter to 20s (for example).
#This is the time during which a connection without being logged in will be opened.
#If we had kept the good old password technique, leave 2 or 3 minutes to type it, it's not too much.
#But since we're using the key now, we'll be logged in immediately. #So we can really reduce the thing and put it down to 20 seconds for example.
LoginGraceTime 20s
#this is the maximum number of attempts before being thrown by the server....
#Since with the key, no possible error, you can put it to 1 possible test.
MaxAuthTries 1
#Then, we will tell the SSH server where the keys are and tell it that we will use them as an authentication method
PubkeyAuthentication yes
AuthorizedKeysFile.ssh/authorized_keys
#And of course, we'll disable all other authentication methods
RSAAuthentication no.
UsePAM no
KerberosAuthentication no
GSSAPIA Authentication no.
PasswordAuthentication no
#Then, we will tell that we only allow users of the sshusers group (for more security)
AllowGroups sshusers
#The MaxStartups setting indicates the number of un-authenticated ssh connections you can launch at the same time.
#2 is more than enough, knowing that with the keys, it's instantaneous.
MaxStartups 2
我刚刚找到了解决方案...我的命令是:
sudo rsync -avz -e "ssh -p <port>" <source> <destination>
但是我必须简单地做到这一点(没有sudo
):
rsync -avz -e "ssh -p <port>" <source> <destination>
我不确定原因,但我认为root
我的台式计算机用户不允许使用SSH访问我的服务器,因为该密钥仅适用于我的classic
台式机用户(因此没有sudo)。
任何人都可以确认吗?谢谢你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句