当前位置: 首页 > 编程笔记 >

linux中ssh免密通信的实现

鲁阳焱
2023-03-14
本文向大家介绍linux中ssh免密通信的实现,包括了linux中ssh免密通信的实现的使用技巧和注意事项,需要的朋友参考一下

什么是ssh

管理员可以通过远程登陆的方式,对通过网相连的分散于各处的多台主机进行管理操作。

管理员可以对远程主机进行如下操作:

  •  远程登陆
  • 远程命令执行
  • 远程文件传输

遗憾的事情是:这些操作不安全!

使用纯文本口令,并用明文发送

  • 信息可能会被截取,口令可能会被检索
  • 未经授权的人员使用截取的口令登陆系统而对系统造成危害

在日常操作练习时,用ssh登录其他主机时,可能会每次都需要输入登录密码,哪怕用scp复制东西也需要。

为了更方便快捷的切换主机,ssh免密通信不失为更好的选择;

用ssh-keygen生成密钥,默认保存在本地的/root/.ssh/id_rsa

然后在用ssh-copy-id分发至目标主机之上;登录用户@主机名或IP地址

注意:

    1.最好是用主机名,在/etc/hosts文件中写入主机名和对应的IP地址;

    2.免密通信需要双方相互认证,所以也需要在目标主机对本机做一次相同的操作;

[root@www ~]# ssh-keygen -t rsa -P '' 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
/root/.ssh/id_rsa already exists.
Overwrite (y/n)?
[root@www ~]#ssh-copy-id -i .ssh/id_rsa.pub root@172.16.75.1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
The authenticity of host '172.16.75.1 (172.16.75.1)' can't be established.
ECDSA key fingerprint is SHA256:YXhbTS9MfK2IQC4gtOW4RL8voHvFqC1cAAMJXuF3Wec.
ECDSA key fingerprint is MD5:2c:c0:94:e8:3a:e4:74:88:c0:d8:e0:01:20:81:1d:8e.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.16.75.1's password: 
Number of key(s) added: 1
Now try logging into the machine, with:  "ssh 'root@172.16.75.1'"
and check to make sure that only the key(s) you wanted were added.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Linux下SSH免密码登录配置详解,包括了Linux下SSH免密码登录配置详解的使用技巧和注意事项,需要的朋友参考一下 假设有 A、 B 两台 Linux 服务器,我们希望能够从其中一台服务器通过 SSH 免密码登录到另一台服务器。 两台服务器的信息如下:  主机名 IP地址 免密码登录用户名 server1 192.168.12.11 guest1 server2 192.168

  • 本文向大家介绍linux远程登录ssh免密码配置方法,包括了linux远程登录ssh免密码配置方法的使用技巧和注意事项,需要的朋友参考一下 一、情景 公司刚上几台Linux,现在要把主机之间都能远程ssh免密码登陆。 二、原理 很简单,使用ssh-keygen 在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一

  • 环境说明 CentOS 7.3 关键点 免密登录的关键点在于理解谁登录谁。 A 生成的公钥给 B,也给 C、D,则 A 可以直接免密 SSH 登录 B、C、D A 生成密钥 在 A 机器上输入命令:ssh-keygen 根据提示回车,共有三次交互提示,都回车即可。 生成的密钥目录在:/root/.ssh 把 A 的公钥发给 B 假设 B 机器的 ip:192.168.1.105 则在 A 机器上输

  • 本文向大家介绍Linux免密码远程登录的实例,包括了Linux免密码远程登录的实例的使用技巧和注意事项,需要的朋友参考一下 Linux免密码远程登录的实例 如何通过一台Linux ssh远程其他linux服务器时,不要输入密码,可以自动登入。提高远程效率,不用记忆各台服务器的密码。 1. 首先登入一台linux服务器,此台做为母机(即登入其他linux系统用这台做为入口);执行一行命令生成key文

  • 本文向大家介绍Linux 进程通信之FIFO的实现,包括了Linux 进程通信之FIFO的实现的使用技巧和注意事项,需要的朋友参考一下 FIFO通信(first in first out) FIFO 有名管道,实现无血缘关系进程通信。 创建一个管道的伪文件 a.mkfifo testfifo 命令创建 b.也可以使用函数int mkfifo(const char *pathname, mode_t

  • Linux多用户ssh密钥远程登录 ssh密钥远程登录Linux,我创建了普通用户,把普通公钥的密钥放到了/root/.ssh/authorized_keys 然后用普通用户远程连接失败,允许普通用户登录我也添加了 只有root用户可以远程用密钥登录,求大佬解答