This page looks best with JavaScript enabled

配置SSH登入远程Linux

 ·  ☕ 1 min read

所谓公钥登录,就是用户将自己的公钥储存在远程主机上。登录的时候远程主机回向用户发送一段随机字符串,用户用自己的秘钥加密后再发送给远程主机。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

生成公钥和秘钥

1
2
cd ~/.ssh
ssh-keygen -t rsa
  • id_rsa 秘钥
  • id_rsa.pub 公钥

公钥发送给远程主机

1
ssh-copy-id user@ip -p

使用 ssh user@ip -p 检测是否设置成功。

更安全地使用 ssh

对 sshd_config 做一些设置,位置:/etc/ssh/sshd_config

禁止 root 使用 ssh 登入。

找到 #PermitRootLogin yes 修改 为 PermitRootLogin no

使用非常规的 ssh 端口

找到 #Port 22, 去掉注释。修改为其它,建议五位。

设置公钥+密码双重验证方式

在 /etc/ssh/sshd_config末端加入这一行:

AuthenticationMethods publickey,password

它告诉用户必须拥有合法的公钥,和输入正确的密码才能成功登入。

之后,重启 sshd 服务。

1
systemctl restart sshd.service

-END-

Share on

Serendipity
WRITTEN BY
Serendipity
iOS/Golang/Rust

What's on this Page