CentOS 7 ssh远程登录停用密码认证,使用密钥认证

这休假和上班没什么区别啊,电话不断。
忙里偷闲,记录一下如何不用密码,用自己生成的密钥ssh登录服务器。

一、密钥生成
密钥分为公钥和私钥,公钥传到服务器上,私钥自己留着,私钥可以加密码。
但是,如果私钥加了密码,每次登陆时均需要输入密钥密码。
密钥类型建议从RSA、ECDSA、ED25519选择,长度256起步看需求。

以Xshell为例,上方菜单的工具,新建用户密钥生成向导。
全程都是中文提示,到“请输入给用户密钥加密的密码”,认证考虑要不要设置密码。
设置密码更安全,但是每次连接不输入服务器用户的密码,输入密钥的密码。
不设置的话,每次登录更方便,但是安全性就降低了。

新建密钥后,公钥、私钥的保存。可以Xshell菜单的工具,用户密钥管理者,进行管理。
公钥:选中密钥,右边的属性,公钥,保存为文件。
私钥:选中密钥,右边的导出。

二、ssh的配置更改

mkdir /home/clowlido/.ssh

在clowlido用户目录下新建一个.ssh文件夹

cd /home/clowlido/.ssh

进入.ssh文件夹

通过rz或xftp将公钥传到服务器上

mv ./clowlido.com.pub ./authorized_keys
chown clowlido:clowlido ./authorized_keys
chmod 600 ./authorized_keys

修改ssh设置,开放公钥认证

vi /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
ChallengeResponseAuthentication no
systemctl restart sshd

先测试一下,是否可以使用密钥登录。

测试通过后,禁用密码认证,以后就只用密钥登录了。

vi /etc/ssh/sshd_config
PasswordAuthentication no
systemctl restart sshd

发表评论

电子邮件地址不会被公开。 必填项已用*标注