时隔半年的时间,俺又回来了,有了空闲时间,打算将服务器上的所有服务都转移到群晖上,现在服务都已经转移完成了,中间非常坎坷,各种问题不断出现,在这里真的非常不建议把复杂的服务部署在群晖上,安安静静让群晖当个NAS就好 。
群晖的系统虽然时基于linux的,但是群晖对linux做了大量的定制内容(阉割),导致部署复杂服务时会出现各种各样的问题,令人非常头疼 ,环境变量缺失、基础软件版本过低导致不兼容服务、、、、,不行了,不能再回忆了,太可怕了。
最近发现网上对linux ssh私钥配置的教程笔记内容比较杂乱,索性自己梳理一下通用的ssh私钥配置方法(多数linux发行版均适用),为什么要配置ssh私钥登陆呢,问的非常好!俺也是个小白,在使用linux服务器一段时间后,就遇到了有人暴力破解ssh密码,嗯,没错,暴力破解,为ssh配置私钥登陆就是为了解决这个问题,接下载,咱们开始吧!
一、ssh私钥配置大体流程
1.本地生成私钥和公钥
2.上传公钥到服务器
3.修改ssh配置文件
4.重启ssh服务
二、具体步骤
1.本地生成私钥和公钥
- 右键win图标,打开Powershell
- 输入以下命令,按回车(username为你想设置的用户名)
ssh-keygen -t rsa -C username
- 冒号后面填写公钥私钥文件的输出目录,如果不想输出到指定目录,直接按下回车,公钥和私钥就会储存到括号中的目录中,这里我就直接按回车了。
- 重复输入两次私钥用的密码(输入密码时光标不动时正常的),生成公钥和私钥文件
- 来到公钥私钥文件生成目录,我们看到公钥和私钥文件已经生成,id_rsa是私钥文件,id_rsa.pub是公钥文件
2.上传公钥到服务器
- win本打开用记事本打开公钥文件,并复制其中的内容
- ssh到服务器,将公钥文件的内容复制到/root/.ssh/authorized_keys中
- 没有这个文件或者文件夹的话可以自行创建,如果authorized_keys文件中已有公钥内容,必须将其全部清空才可以将自己刚生成的公钥复制进去
- 更改文件及文件夹权限
chmod 755 /root
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
3.修改ssh配置文件
vi cd /etc/ssh/sshd_config
- 在sshd_config中修改以下内容(没有的话直接复制就行),并保存
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /root/.ssh/authorized_keys #公钥的存放位置
PasswordAuthentication no
4.重启ssh服务,或者重启服务器即可
- 接下来你就可是使用私钥+密码远程登陆服务器啦
- 如果私钥需要转换成pem格式的话可以在Powershell中用以下命令对私钥进行转换即可
ssh-keygen -p -m PEM -f 私钥路径
最新回复