序
linux对于后端开发人员来说,是不可避免的接触到的东西,平时部署应用或者查看日志的时候,都会用到
一些基本的linux命令.回想起自己一开始接触linux时,不知道命令或者不明白命令怎么用时候的茫然,现在仍
记忆犹新,故决定记录一些平时经常用到的命令和操作,巩固自己的记忆,若能给别人提供一些参考,也是极开心的.
linux(centos)配置ssh免密码登录
第一步,准备密钥对
一般我们作为开发者,到公司的第一件事就是生成自己的密钥对,方便登录服务器进行相关操作.ssh密钥对的生成可以借助终端工具secureCRT或者xshell生成,也可以通过命令生成
ssh-keygen -t rsa
在这里,因为我是自己搭建的虚拟机,所以我直接用命令生成了,如下图所示:
默认会存放在你的用户目录下.ssh文件夹下,root用户为/root,非root用户为/home/用户名,我的用户名是webdev,所以是/home/webdev
注:linux下.开头的文件夹是隐藏文件,需要用ls -al才能看见
现在我的用户目录下有两个文件,一个id_rsa文件,这是你的私钥文件,要保存好,确保只有你知道.一个是id_rsa.pub文件,这是公钥文件,这个文件是要放在你要远程登录的服务器上的,这是非对称加密原理的应用,若不清楚的,可以自行了解.
第二部、安装ssh服务
密钥对已经准备好了,这个时候可以配置远程服务器了,由于centos默认是安装了openssh服务的,若你的机器没有安装,可以使用yum命令安装
yum install openssh-server
如果你不确定是否安装了ssh服务,可以用以下命令看一下:
systemctl status sshd
如果出现上图的信息则表明已经安装了,且sshd服务正在运行.ssh服务的默认端口是22,可以通过配置文件/etc/ssh/sshd_config查看具体配置信息.一般保持默认就可以.
第三步、 配置公钥
在你的用户目录下建立.ssh文件夹,并授予文件夹700的权限
mkdir .ssh
sudo chmod 700 ~/.ssh
进入到.ssh目录下,创建文件authorized_keys,把你的公钥文本写入到此文件,并授予文件600的权限
vi authorized_keys
sudo chmod 600 authorized_keys
往文件里写文本的时候要注意原封不动的写进去,多一个空格也会导致登录失败
重启sshd服务,不重启应该也不会有问题,这个随意
systemctl restart sshd
到这里ssh的配置就完成了,可以使用终端试一下.如果出现登录失败的情况,可以考虑以下情况
1.防火墙是不是没开放22端口
2. 检查sshd服务是否正常启动
3. 是不是Selinux模式启动,是的话,可以考虑先关掉
4. 查看/var/log/secure日志,看sshd服务的具体日志,网上搜索