我是靠谱客的博主 虚拟鸭子,最近开发中收集的这篇文章主要介绍Linux建立互信关系(ssh公钥登录),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Linux有多种登录方式,比如telnet、ssh。支持ssh登录方式:口令登录和公钥登录

ssh登录方式:ssh [-l login_name] [-p port] [user@]hostname

口令登录:输入密码登录。

公钥登录:将本端设备的公钥加入到对端的公钥文件authorized_keys,可以免密码登录。

本文只阐述如何使用公钥免密码登录。

公钥登录原理:

所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

操作步骤:

1、登录远端设备,修改ssh配置,对应文件路径/etc/ssh/sshd_config或者/etc/sshd/sshd_config,放开如下配置项:

1 RSAAuthentication yes #启用rsa认证
2 PubkeyAuthentication yes #启用公钥私钥配对认证方式
3 AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
View Code

确保权限,.ssh目录为700,authorized_keys权限为600,重启sshd服务:

service sshd restart

或者

systemctl restart sshd

 

2、本端生成公钥,运行如下命令:

ssh-keygen -t rsa

生成公钥文件id_rsa.pub和私钥文件id_rsa。

3、将公钥添加到远端.ssh/authorized_keys中,那么本端就可以免密码登录远端设备。

添加方法,诚所谓八仙过海,各显神通。

常用方法,通过scp命令拷贝。

scp local_file remote_file

比如本端设备192.168.24.16,远端设备192.168.24.17,用文件替换方式:

本端设备执行:
scp /root/.ssh/id_rsa root@192.168.24.17:/root/.ssh/authorized_keys
远端设备执行:
scp root@192.168.24.16:/root/.ssh/authorized_keys /root/.ssh/id_rsa
View Code

或者使用ssh-copy-id命令

ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.24.17 

 

关于ssh/sftp/ftp/ftps协议,后续记录。

 

转载于:https://www.cnblogs.com/HopkinsCybn/p/10105901.html

最后

以上就是虚拟鸭子为你收集整理的Linux建立互信关系(ssh公钥登录)的全部内容,希望文章能够帮你解决Linux建立互信关系(ssh公钥登录)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(100)

评论列表共有 0 条评论

立即
投稿
返回
顶部