一、在需要登录的源机器上生成密钥
(比如从A登录到B和C,就需要在A源机器上生成密钥,然后把公钥文件内容,复制到B和C目标机器上)
(这就好比公司的指纹锁,你需要把你的指纹录入进去,下次进入的时候只要比对一下你的指纹就可以开门了)
切换到应对账号登录A
执行命令:ssh-keygen -t rsa 回车后生成如下两个文件(注意待生成文件路径~/.ssh/)
可以看到A机器上执行命令:ssh-keygen -t rsa后,在路径~/.ssh/下生成了id_rsa.pub公钥文件,A上的公钥文件的内容复制添加到B和C机器的~/.ssh/authorized_keys文件内就可以实现从A免密登录到B和C。
二、目标机器配置
2.1在A机器上执行:cat ~/.ssh/id_rsa.pub,把显示出来的内容复制到B和C机器的~/.ssh/authorized_keys文件内。
2.2在B和C机器上执行:vim ~/.ssh/authorized_keys,把上一步A机器公钥中的内容复制进来,并保存。也可以通过其它方法把文件内容追加进来。
2.3如果是非root用户,就需要在B和C机上修改~/.ssh/authorized_keys权限,如果是root用户就不需要修改权限。
chmod 700 ~/.ssh/authorized_keys
2.4重启ssh服务
/sbin/service sshd restart
至此就可以实现从A机器免密登录到B和C机器。
三、sshd其他配置
因openssh的版本不一样,sshd服务配置文件也存在差异
像很多人写的配置方法里面需要配置,RSAAuthentication yes ,PubkeyAuthentication yes ,这两项,我这边都没有开启也是正常可以免密登录。
如果有升级安装过openssh,其中有一项sftp-server配置路径不对,会导某些软件免密登录传输文件失败的问题,
执行:find / -name sftp-server,看路径位置
修改sshd配置文件vi /etc/ssh/sshd_config
找到Subsystem sftp /data/openssh/libexec/sftp-server
修改为Subsystem sftp /usr/libexec/openssh/sftp-server
保存后,重启sshd服务。
到此这篇sshd免密登录(ssh免密登录配置)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/11604.html