`

Linux ssh免密码登录

 
阅读更多

本机:192.168.1.228

要免密码登陆的远程主机:192.168.1.229

 

本机和远程用户目录下创建目录

mkdir .ssh

chmod 700 .ssh

本机创建密钥

ssh-keygen -t rsa 

在远程主机的可信任列表(~/.ssh/authorized_keys)中将本机公钥(~/.ssh/id_rsa.pub )内容填进去即可:

 

本机测试是否可以免密码执行:

ssh 192.168.1.229 date

######################################################################### 

 

深入一点点: 

 

从表面上简单的理解一下登录的过程, 

首先 ssh-keygen -t rsa 命令生成了一个密钥和一个公钥, 而且密钥可以设置自己的密码 

可以把密钥理解成一把钥匙, 公钥理解成这把钥匙对应的锁头, 

把锁头(公钥)放到想要控制的server上, 锁住server, 只有拥有钥匙(密钥)的人, 才能打开锁头, 进入server并控制 

而对于拥有这把钥匙的人, 必需得知道钥匙本身的密码,才能使用这把钥匙 (除非这把钥匙没设置密码), 这样就可以防止钥匙被了配了(私钥被人复制) 

 

当然, 这种例子只是方便理解罢了, 

拥有root密码的人当然是不会被锁住的, 而且不一定只有一把锁(公钥), 但如果任何一把锁, 被人用其对应的钥匙(私钥)打开了, server就可以被那个人控制了 

所以说, 只要你曾经知道server的root密码, 并将有root身份的公钥放到上面, 就可以用这个公钥对应的私钥"打开" server, 再以root的身分登录, 即使现在root密码已经更改! 

 

如果想控制n个机器, 那就需要n对钥匙(密钥和公钥), ssh-keygen 命令可以随意更改钥匙对的名字, 比如: 

[root@wwy .ssh]# ssh-keygen -t rsa 

Generating public/private rsa key pair. 

Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa_192.168.102.12 

...... 

 

这样私钥和公钥的名字分别就是: 

id_rsa_192.168.102.12 和 id_rsa_192.168.102.12.pub 

然后将 id_rsa_192.168.102.12.pub 文件的内容, 追加到sever的 ~/.ssh/authorized_keys2 文件中, 

 

最后, 在本地用ssh命令的 -i 参数指定本地密钥, 并登录: 

# ssh -i /root/.ssh/id_rsa_192.168.102.12 192.168.102.12 

 

如果密钥设置了密码, 就用密钥的密码登录, 没设密码, 就直接登录进去了 

 

scp也是一样的 

如: 

scp -i /root/.ssh/id_rsa  ./xxx 192.168.102.158:/home/wwy/bak

 

分享到:
评论

相关推荐

    配置linux ssh免密码登录

    配置linux ssh免密码登录,第一行生成密钥,第二行是要对哪台机器免密码ssh登录就配置成哪一台,这里root@hadoop00,root是用户名,hadoop00是主机名

    linux系统的ssh免密码登录机制原理及实现范例

    ### Linux系统的SSH免密码登录机制原理及实现范例 #### 一、SSH免密码登录机制原理 SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录。它可以在不安全的网络上提供一种安全的远程登录方法。对于经常...

    Linux配置ssh免密码登录

    ### Linux配置SSH免密码登录详解 #### 一、引言 在进行分布式系统如Hadoop集群的搭建过程中,为了提高效率并确保数据的安全性,通常需要实现节点间的免密码登录。这种方式通过使用SSH (Secure Shell) 的公钥/私钥...

    Linux系统下如何做到SSH免密码登录

    SSH免密码登录是Linux管理员常用的便捷功能,它允许用户在不同主机间进行身份验证时无需每次都输入密码,提高效率并减少手动输入密码带来的安全风险。本文将详细解释如何在Linux系统中设置SSH免密码登录。 首先,...

    ssh通讯协议及ssh免密码登录的配置

    SSH 通讯协议及 SSH 免密码登录的配置 SSH(Secure Shell)是一种通讯协议,可以实现远程安全登录。OpenSSH 是 SSH 远程安全登录的开源实现。本文将介绍 SSH 远程安全登录的工作原理、免密码登录的配置、scp 远程...

    ssh免密码登录

    ### SSH免密码登录详解 #### 一、简介 在日常运维工作中,经常需要在多台服务器之间进行频繁的SSH连接操作。为了提高工作效率并减少密码输入的繁琐过程,实现SSH免密码登录是一种非常实用的方法。本文将详细介绍...

    ssh 免密码登陆方法

    ssh 免密码登陆方法 在 Linux 服务器中实现免密码登陆是非常有用的,特别是在集群环境中,需要在多个节点之间实现自动化登陆。下面我们将详细介绍如何使用 SSH 实现免密码登陆。 SSH 免密码登陆的原理 SSH...

    ssh免密码登陆

    通过以上步骤,我们可以轻松地在Linux环境下实现SSH免密码登录。这种方式不仅提高了工作效率,还保持了安全性。在实际工作中,这种技术非常实用,特别是在管理多台服务器的情况下。希望本文能帮助大家更好地理解和...

    WINSCP-SFTP SSH免密码登录

    **标题解析:** "WINSCP-SFTP SSH免密码登录" 指的是使用WINSCP工具通过SFTP(Secure File Transfer Protocol)协议,并利用SSH(Secure Shell)进行安全连接,实现无需手动输入密码的自动化登录。 **描述解析:** ...

    虚拟机VMware下centos配置SSH免密码登陆

    在虚拟机VMware中配置CentOS系统实现SSH免密码登陆,可以极大地提高工作效率,减少手动输入密码的繁琐步骤。以下将详细介绍如何在两个CentOS系统之间配置SSH免密码登陆。 首先,我们需要了解SSH的基本原理。SSH通过...

    postgres用户下ssh无密码登录

    SSH(Secure Shell)是一种安全的远程登录协议,用于远程管理Linux系统。 SSH无密码登录是指在两台服务器之间,不需要输入密码便可实现登录的功能。本文将详细介绍Postgres用户下SSH无密码登录的实现方法。 一、...

    详解SSH如何配置key免密码登录

    ### SSH Key 免密码登录详解 #### 一、SSH Key 的基本概念与原理 SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录。通过SSH,可以在非安全的网络环境中提供安全的远程登录服务,其安全性主要依靠...

    Linux 安装及SSH免密码设置

    在IT领域,Linux操作系统是广泛应用于服务器、云计算和开发环境的重要平台。...以上就是Linux的安装步骤和SSH免密码设置方法,对于远程管理和运维工作非常实用。通过这些知识,你可以更高效地管理你的Linux系统。

    linux ssh ssh

    Linux SSH (Secure Shell) 是一个网络协议,用于在不安全的网络上安全地远程登录Linux系统,执行命令和传输数据。SSH提供了加密的网络通信,确保了数据在传输过程中的安全性,防止被窃听或篡改。在Windows系统中,...

    两台linux机器之间ssh不需要密码详解

    本文将详细介绍如何在两台Linux机器之间设置SSH免密码登录,并确保其安全性和便捷性。 #### SSH无密码登录原理 SSH(Secure Shell)是一种加密的网络协议,用于计算机之间的通信。SSH无密码登录主要依赖于公钥加密...

    centos配置ssh免密码登录后仍要输入密码的解决方法

    总结来说,SSH免密码登录在Linux系统管理中是非常重要的,尤其是在大规模集群环境中。正确配置SSH密钥对和权限设置,可以避免频繁输入密码,提升管理效率。遇到问题时,检查日志文件并调整权限是解决问题的关键。...

    linux如何配置双机SSH信任然后双向免密码登陆.docx

    Linux 双机 SSH 信任配置与双向免密码登陆 Linux 双机 SSH 信任配置是指在两个 Linux 机器之间建立安全的信任关系,以便实现双向免密码登陆。这种配置方式使用公私钥认证机制,通过生成公私钥对,实现客户端到...

Global site tag (gtag.js) - Google Analytics