linux下配置远程免密登录方法教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下配置远程免密登录方法教程相关的知识,希望对你有一定的参考价值。

参考技术A

  Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。本文主要描述了CentOs6.3系统下配置免密登录的详细过程。非常不错,具有参考借鉴价值,需要的朋友可以参考下

  方法步骤

  ssh远程登录,两种身份验证:

  1.用户名+密码

  密钥验证

  机器1生成密钥对并将公钥发给机器2,机器2将公钥保存。

  机器1要登录机器2时,机器2生成随机字符串并用机器1的公钥加密后,发给机器1。

  机器1用私钥将其解密后发回给机器2,验证成功后登录

  1、用户名+密码

  如上图所示,机器1要登录到机器2

  ssh 机器2的ip(默认使用root用户登录,也可指定,如:ssh a@192.168.25.14 表示指定由a用户登录机器2)

  询问是否需要创建连接 yes

  输入机器2中root用户的密码即可登录到机器2

  输入exit回到机器1

  2、远程免密登录

  输入命令ssh-keygen

  按三次回车,完成生成私钥和公钥

  到/root/.ssh目录下可看到刚刚那条命令生成的私钥和公钥

  输入ssh-copy-id 机器2的ip

  再输入机器2的密码,即可将公钥传给机器2

  机器2的/root/.ssh目录下的authorized_keys文件保存着刚才机器1传过来的公钥(可用cat命令查看,并对比机器1上的公钥,是一样的)

  机器1上直接输入ssh 机器2的ip即可登录机器2,不用再输密码,自此完成了远程免密登录的配置

  补充:Linux基本命令

  1.ls命令:

  格式::ls [选项] [目录或文件]

  功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。

  常用选项:

  -a :列出目录下的所有文件,包括以 . 开头的隐含文件。

  -d :将目录像文件一样显示,而不是显示其他文件。

  -i :输出文件的i节点的索引信息。

  -k :以k字节的形式表示文件的大小。

  -l :列出文件的详细信息。

  -n :用数字的UID,GID代替名称。

  -F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。

  2.cd命令

  格式:cd [目录名称]

  常用选项:

  cd .. 返回上一级目录。

  cd ../.. 将当前目录向上移动两级。

  cd - 返回最近访问目录。

  3.pwd命令

  格式: pwd

  功能:显示出当前工作目录的绝对路径。

  相关阅读:Linux主要特性

  完全兼容POSIX1.0标准

  这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

  多用户、多任务

  Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

  良好的界面

  Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

  支持多种平台

linux下配置远程免密登录

linux下各种集群搭建往往需要配置远程免密登录,本文主要描述了CentOs6.3系统下配置免密登录的详细过程。


ssh远程登录,两种身份验证:

  1. 用户名+密码
  2. 密钥验证
    • 机器1生成密钥对并将公钥发给机器2,机器2将公钥保存。
    • 机器1要登录机器2时,机器2生成随机字符串并用机器1的公钥加密后,发给机器1。
    • 机器1用私钥将其解密后发回给机器2,验证成功后登录

1、用户名+密码

如上图所示,机器1要登录到机器2

  • ssh 机器2的ip(默认使用root用户登录,也可指定,如:ssh a@192.168.25.14 表示指定由a用户登录机器2)
  • 询问是否需要创建连接 yes
  • 输入机器2中root用户的密码即可登录到机器2
  • 输入exit回到机器1

2、远程免密登录

  • 输入命令ssh-keygen
  • 按三次回车,完成生成私钥和公钥

  • 到/root/.ssh目录下可看到刚刚那条命令生成的私钥和公钥

  • 输入ssh-copy-id 机器2的ip
  • 再输入机器2的密码,即可将公钥传给机器2

  • 机器2的/root/.ssh目录下的authorized_keys文件保存着刚才机器1传过来的公钥(可用cat命令查看,并对比机器1上的公钥,是一样的)

  • 机器1上直接输入ssh 机器2的ip即可登录机器2,不用再输密码,自此完成了远程免密登录的配置

 

 

 

Linux中,使用SSH过程中,sh-copy-id命令报错:-bash: ssh-copy-id: command not found
在服务器之间传送文件我们经常会使用SCP命令来进行传送文件,但是每次都要进行密码验证,非常繁琐,所以通常我们会用ssh免密码登录。

首先,我们会在目的端生成私钥和公钥 (使用:–ssh-keygen -t rsa 命令),然后通过ssh-copy-id -i ~/.ssh/id_rsa.put 的方式,将目的端的公钥导入发送端,来进行实现免密连接。

但是总会遇到sh-copy-id命令报错:-bash: ssh-copy-id: command not found

网上有很多的解决办法,都没有解决,最后通过尝试用命令,直接复制本地的pubkey内容到远程服务器解决的问题。

cat ~/.ssh/id_*.pub|ssh root@bigdata-lsj-master.com ‘cat>>.ssh/authorized_keys’
其中:
~/.ssh/id_*.pub :是生成公钥的地址。
root@bigdata-lsj-master.com :其中root是目的端用户名,bigdata-lsj-master.com是本地IP对应的host名,你也可以把他替换为IP地址,例如192.168.56.101.

其他字符不变。就将你的公钥复制到的目的端的本地。

然后就会发现,在使用SCP命令时,就实现了免密登录。
————————————————
版权声明:本文为CSDN博主「JeRome_JLU」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jeromelsj/article/details/81459419

以上是关于linux下配置远程免密登录方法教程的主要内容,如果未能解决你的问题,请参考以下文章

Linux下配置ssh免密远程登录

linux配置了免密,如何不使用免密登录

Linux下配置免密登录!

Linux配置SSH免密登录

极智开发 | linux 下 ssh 或 scp 免密连接配置方法

L07-Linux配置ssh免密远程登录