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

或者

扫描二维码关注公众号,回复: 4467078 查看本文章
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协议,后续记录。

猜你喜欢

转载自www.cnblogs.com/HopkinsCybn/p/10105901.html