
使用WINSCP密钥登录你的云服务器
OK,感觉好久没有更新Blog了,随着时间的增加,我服务器上的内容越来越多了,总感觉每次用ssh连接并用root账户密码登陆委实不太安全,于是网上冲浪得知可以使用安全性更好的密钥进行登录,开始实施。系统为:Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-170-generic x86_64)。
进入.ssh目录下
通过账号密码登录WINSCP后,进入用户名下的文件夹.ssh下,如果没有该文件夹,可以使用mkdir -p /root/.ssh
手动创建:
cd /root/.ssh
执行命令创建密钥对
ssh-keygen -t rsa
按照提示进行依次操作,基本上一路回车就可以。
输入ls
,会显示authorized_keys id_rsa id_rsa.pub
三个文件,其中rsa是私钥(敲黑板:这个很重要,不能外泄),pub是公钥。
添加公钥到系统
使用如下命令将公钥添加到authorized_keys
文件中:
cp id_rsa.pub authorized_keys
使用WINSCP生成.ppk格式私钥
将刚才的私钥拷贝在本地电脑上,返回登录界面,运行PuTTYgen:
载入刚才从服务器保存下来的Xshell生成的密钥,并点击确定。
成功读取后点击Save private key按钮将私钥保存在本地电脑上。
设置使用私钥进行登录。
点击确定保存后登录,即可以通过私钥直接进行登录。最后可以设置ssh配置不允许密码登录。
修改ssh配置文件并重启ssh服务
开启putty,使用vim文本编辑器进入ssh的配置文件:
vim /etc/ssh/sshd_config
结果应该如下所示:
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
PermitRootLogin yes
PasswordAuthentication yes
UseDNS no
在配置文件中找到PasswordAuthentication yes
设置,这一行的意思是允许使用密码登录,将输入法切换成英文模式,点击“i”,进入插入模式,将“yes”修改为“no”,按“Esc”键回到正常模式,输入“:w”保存修改,再输入“:q”退出,也可以直接输入“:wq”保存并退出。
最后重启ssh服务:
sudo systemctl restart ssh
那么你的云服务器就可以只通过密钥进行登录了。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果