debian使用ssh密钥登录 禁止使用root密码登录

使用vultr的免费小鸡,默认的系统内存有点高,自己DD了debian11(DD脚本),内存少了点,为了安全,需要开启ssh密钥登录,以下纪录下方法。网络转载

 

为自己的云服务器添加子账号。

步骤:
1、在root账号下;
2、useradd -m 用户名(会默认在/home目录下新建同名文件夹)
3、passwd 用户名
4、输入密码
5、再次输入密码

设置SSH

习惯性跟着Debian升级大版本(比如现在的debian 11),为了避免可能存在的奇奇怪怪的问题,都是格盘全装的,之后设置SSH的时候使用密钥登陆。每次都得自己找别人的教程,不如直接自己写一下,记录下来。联动此前的这篇【教程】SSH分析及安全设置。

如果没有安装ssh,root权限运行apt install openssh-server进行安装。

ssh-keygen -t rsa # 生成配对密钥,后续一路enter即可

会在用户目录(即~这个)下生成.ssh文件夹,里面的id_rsa是私钥,id_rsa.pub是公钥。
输入cd ~/.ssh/进入.ssh文件夹中,将公钥写入到authorized_keys中,将id)rsa下载并保存好。

 

touch authorized_keys
cat id_rsa.pub >> authorized_keys # 写入公钥写入

此时,还需要给文件相应的权限,不然可能无法正常工作

 

chmod 600 authorized_keys
chmod 700 ~/.ssh

现在密钥已经配对好了,还需要修改ssh的配置文件,打开/etc/ssh/sshd_config文件,修改其中的关键文件

 

PubkeyAuthentication yes # yes表示允许密钥登陆
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 # 指定密钥的文件位置
PasswordAuthentication no # 不允许使用密码登陆,等测试密钥登陆成功了再修改此条,以防无法登陆

到此,SSH密钥登陆就配置完成了,重启ssh服务即可

 

systemctl restart ssh

 

 

除此之外,我习惯性更改端口,并且禁止root用户用户登陆

Port 12345 # 把默认的22端口改了
PermitRootLogin no # 禁止root用户登陆

THE END