起因
云服务器一直使用密码登陆,直到偶然间发现机器中了xmrig病毒一直在偷偷挖矿。
因为服务器刚买没多长时间,东西较少,清除病毒也不太会,所以服务器系统重装了。
了解到使用密钥登陆会更为安全些,所以学习了一下。
解释
利用密钥生成器生成一对密钥:公钥+私钥
公钥放到服务器,私钥在客户端
这样如果没有私钥,任何人都无法通过暴力破解你的密码来远程登录系统。
如果将你的公钥私钥复制到其他主机也可以登录,一定记得妥善保存私钥!!!
cd ~/.ssh 进入.ssh目录
如果出现 No such file or directory 说明你没有用root用户ssh登陆过
ssh root@ip # 出现 Are you sure ... 提示 输入yes
这时本机就出现 .ssh文件夹
如果没有生成过密钥,就只存在known_hosts文件
执行命令 ssh-keygen
密钥密码可以不进行设置,直接回车,这样就不用在登陆服务器的时候输入ssh密码了
.ssh 出现两个文件 id_rsa 私钥 id_rsa.pub 公钥
发送公钥到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@ip # 输入密码
完成😊
可以 ssh 用户名@ip登陆了(如果设置了密钥密码不为空还是要输密钥密码的)
小技巧1
快捷登陆服务器
cd ~/.ssh # 进入ssh文件夹
vim config # 无则创建并打开,有则打开config
Host name # name为快捷打开字符串
HostName ip # 前面空4格 后面为服务器ip
User ubuntu # 用户名 ubuntu
Port 22 # 端口 默认 22
之后就可以 ssh name 来一键登陆服务器了
小技巧2
vscode 打开服务器文件夹
- vscode扩展下载 remoteSSH
- 点击左侧显示器图标,展示你的服务器
- 点击联接,自动创建新窗口,选择打开指定文件夹就可以编辑了