linux中ssh免密通信的实现

Welcome ·
更新时间:2024-11-10
· 732 次阅读

什么是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. 您可能感兴趣的文章:bash脚本中将密码传递给ssh/scp命令方法详解Linux上通过SSH挂载远程文件系统方法详解centos 修改ssh默认端口号的方法示例Ubuntu环境下SSH的安装及使用详解jenkins中通过Publish Over SSH插件将项目部署到远程机器上的讲解说明centos6.5配置ssh免秘钥登陆执行pssh命令的讲解Ubuntu基础设定:openssh-server的安装和使用介绍在CentOS VPS上通过SSH安装 MySQL的方法图解linux操作系统下配置ssh/sftp和权限设置方法Mac通过不同终端SSH连接远程服务器的讲解



Linux ssh 通信

需要 登录 后方可回复, 如果你还没有账号请 注册新账号