我在家里很懒,对我的家用机器使用密码认证。我已准备好转向基于密钥的身份验证。网络上有很多关于如何执行此操作的选项,包括 catting 然后 ssh the key over,直接 scping key over 等。
我正在寻找复制密钥的最简单和推荐的方法,希望 Ubuntu ssh 包中的某处有一个方便的包装器?
我已经知道如何关闭密码登录。
我可以/应该采取什么措施来确保我的 SSH 服务器周围的安全是绝对不可渗透的?
这将从一开始就是社区维基,所以让我们看看人们如何保护他们的服务器。
A 有一个远程服务器,我想禁用 root 和其他用户的密码远程登录。我在互联网上浏览了一些关于如何做到这一点的文章,并且我有以下要做/改变的事情列表:
使用 SSH 密钥为所有用户创建私钥身份验证(我已经这样做了)
在 中进行以下设置sshd_config:
放PermitRootLogin without-password
放ChallengeResponseAuthentication no
放PasswordAuthentication no
放UsePAM no
放AllowUsers root otheruser
重新启动ssh使用sudo service ssh reload
但是,我不确定要对文件进行哪些更改sshd_config,并且我不想被锁定在远程服务器之外。
如果我希望能够仅使用 SSH 密钥以 root 身份和其他用户身份登录,我需要进行哪些更改?
如果我想完全阻止远程 root 登录,我需要进行哪些更改(与使用 SSH 密钥进行远程 root 登录相比,它安全多少)?
如果我通过更改 sshd_config 文件来完全阻止远程 root 登录,那么如果我将来想以 ROOT 身份登录,我将如何才能登录?
请尽可能明确地回答这些问题,并请原谅我缺乏尝试,因为我完全害怕被锁定在我自己的远程服务器之外。
我已经重新开始使用sshsudo systemctl restart ssh在xenial16.04 LTS上运行AWS EC2一个VPS,使用ssh连接时仍然得到提示输入密码。如何禁用root ssh并禁用密码登录?
ubuntu@ip-xxx-xx-x-xx:~$ cat /etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 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
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes …Run Code Online (Sandbox Code Playgroud)