远程 SCP 和 SSFTP 访问 Linux 服务器被拒绝

远程 SCP 和 SSFTP 访问 Linux 服务器被拒绝

这种情况有点尴尬,但我确实需要一些帮助。

我采取了以下步骤来保护我的Linux服务器的安全:

  • 创建并使用不同的用户来代替 root 用户
  • 使用 SSH 密钥对代替密码进行身份验证
  • 安装防火墙以允许 SSH[22]、HTTP[80] 和 HTTPS[443] 端口上的流量
  • 安装fail2ban
  • 然后,我禁用了 SSH 密码验证和 root 登录

自从实施上述所有措施后,我发现从我的桌面上传到我的服务器很困难。

在执行上述步骤之前,我将从命令行执行 SCP,如下所示:

scp file-to-upload.txt [email protected]:/var

OUTPUT: Offending ECDSA key in /root/.ssh/known_hosts:4
  remove with: ssh-keygen -f "/root/.ssh/known_hosts" -R 111.222.3.4

以前这个方法有用,但现在每次都失败。我猜是因为我在最后一步禁用了 SSH 密码验证,但当我重新启用它时,SCP 仍然不起作用。

我尝试使用 FileZilla。当我重新启用 SSH 密码验证时,它就可以正常工作,但上传大文件的速度太慢了。我需要找到一个解决方案,以便我可以在终端中使用我首选的 SCP。

更新:

egrep -v "^#|^$" /etc/ssh/sshd_config

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes

防火墙配置:

*filter

#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

#  Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

#  Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

#  Allow SSH connections
#
#  The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

#  Allow ping
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

#  Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

#  Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT

更新#2:

whoami; ls -alZ ~/.ssh

drwx------  2 sisko sisko ? 4096 Dec 11 22:45 .
drwxr-xr-x 26 sisko sisko ? 4096 Dec 12 00:55 ..
-rw-------  1 sisko sisko ? 1679 Dec 11 22:51 id_rsa
-rw-r--r--  1 sisko sisko ?  392 Dec 11 22:51 id_rsa.pub
-rw-------  1 sisko sisko ? 1550 Dec 11 22:21 known_hosts
-rw-------  1 sisko sisko ? 1550 Nov  7 12:27 known_hosts.old

答案1

如果您禁用了 root 登录,您将无法以 root 身份登录(包括 scp)。尝试撤消该步骤。

相关内容