禁止root登录,使用其他普通用户登录后再切换到root
1.创建普通用户test
sudo useradd -m test
2.root用户切换test用户
sudo su - test
3.修改普通用户密码
sudo passwd test
如果test用户密码修改不了,切换到 root 用户
su - root
直接运行修改test用户密码
passwd test
test用户修改root用户目录需要在命令行前加上sudo
试一下test用户切换root,切换root用户有两中方式
方式一:sudo -i
如果报错test is not in the sudoers file. This incident will be reported
需通过su - root登录到root用户,用visudo可以安全地编辑sudoers文件,找到授予用户sudo权限的部分,并添加如下行test ALL=(ALL) ALL,保存退出,再切换到test用户进行测试
方式二:su - root
(以下4,5,6步骤确保在禁止 root 用户登录之前,你可以通过test用户切换到root用户,或者你已经为系统创建了至少一个具有管理员权限的用户,以免因为意外情况导致无法登录到系统。)
4.编辑/etc/ssh/sshd_config文件
vi /etc/ssh/sshd_config
5.找到PermitRootLogin选项,设置为no,如果注释掉,就打开,如果没有,就添加一条
PermitRootLogin no
6.修改完成,保存并关闭文件,重启sshd服务
sudo systemctl reload sshd
完成以上步骤后,root 用户将无法通过 SSH 登录到系统中。
修改SSH端口号,避免使用默认端口,增加安全性,新的ssh端口号12202
1.修改之前先备份一下sshd文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup
2.编辑/etc/ssh/sshd_config文件
vim /etc/ssh/sshd_config
找到并更改端口号
Port <新端口号>
保存并关闭
3.重启ssh服务
systemctl restart sshd
4.阿里云安全组配置需添加上新的ssh端口号
5.测试新端口连接(ssh要使用绝对路径)
ssh -p <new_port_number> <your_username>@<your_server_ip>
6.使用netstat查看监听的端口和进程
netstat -atunlp | grep sshd
ssh使用密钥登录,无需密码登录ssh
1.在普通用户test生成SSH密钥对
ssh-keygen -t rsa -b 4096
提示你生成到(/home/test/.ssh/id_rsa)目录下
可以看到生成两个文件,其中id_rsa为私钥,这个绝不能外泄。id_rsa.pub为公钥,可以对外发布。而且这个公钥也是我们也要传给需要登录的服务器上才能实现密钥认证!
2.复制公钥到远程主机
(如果没有改端口号还是默认的22)
ssh-copy-id -i ~/.ssh/id_rsa.pub -p <新端口号> test@服务器ip
会提示输入yes,再输入test用户密码,输入完成后再次查看发现多了两个文件
如果 ssh-copy-id 命令不可用,你可以手动将公钥内容添加到远程主机上 test 用户的 authorized_keys 文件中。你可以将本地计算机上公钥文件 id_rsa.pub 的内容复制到剪贴板,并使用SSH连接到远程主机,然后将公钥内容粘贴到 ~/.ssh/authorized_keys 文件中。
3.保存id_rsa私有密钥到本地计算机
在本地你要存放的路径(这里以D:\tools\Xshell7\服务器二id_rsa示例)打开,并执行以下命令
D:\tools\Xshell7\服务器二id_rsa>scp -P <端口号> test@服务器ip:/home/test/.ssh/id_rsa ./
输入yes和test用户密码即可,可以看到成功导入到本地
4.再次连接test用户选择用密钥连接,导入私有密钥即可
(注意:执行以下两步时,确保test用户能够使用私钥能登录服务器,否则可能将无法使用密码登录到服务器。)
5.关闭使用密码登录,test用户切换到root用户,编辑SSH服务器配置文件
vi /etc/ssh/sshd_config
找到并编辑 PasswordAuthentication 选项,将其设置为 no
PasswordAuthentication No
6.保存并关闭文件,重启让配置生效
systemctl restart sshd
现在好了,用户是无法通过密码ssh远程登录到服务器端了!那么现在就请保存好你的私钥吧!