安装ssh服务
要使用免密登录,首先得确保服务器已经安装sshd服务,可在终端执行命令sudo service sshd status ,正常界面如图
,否则则可运行sudo apt-get install -y openssh-server 安装ssh服务端。
允许root远程登录
修改 sshd 的配置文件,并允许 Root 用户远程登录:
vim /etc/ssh/sshd_config
找到 PermitRootLogin 配置项并修改为如下内容
PermitRootLogin yes
重启 sshd 服务:
service sshd restart
生产公钥和密钥
查看当前用户是否已生成密钥对:
ls ~/.ssh/id_rsa.pub
如果该文件不存在,则执行如下命令生成新的密钥对:
ssh-keygen -t rsa
有的资料显示使用ssh-keygen -t dsa,但笔者测试时没生效,读者可切换测试,在生产新方式的密钥和公钥前记得清除之前生成的密钥和公钥
公钥拷贝
命令: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ,把公用密匙添加到authorized_keys 文件中,如果是其他服务器免密登录当前服务器,则将当前服务器公钥id_rsa.pub 内容拷贝到其他服务器的authorized_keys 文件里。
登录验证
多次输入 ssh hostOrIp ,第二次起不需要密码就登录成功,则说明配置成功。
其他说明
登录针对用户而言,当前用户配置的免密登录仅仅对当前用户有效。如 在app用户配置了免密登录,仅仅 ssh app@host 免密。如需tst用户也免密登录,则需切换到tst用户再次执行免密配置