Linux系统ssh远程免密登录

  在Linux运行过程中,有些特殊情况需要让不同Linux主机之间进行SSH免密登录,直观来看是免密登录,确切的说是通过秘钥验证登录。

一、实现原理

  如A主机需要远程免密登录到B主机,那么需要在A主机上面通过工具生成秘钥对,即公钥和私钥。私钥用来解密,放置在A主机本地,公钥用来加密,放置在远端B主机。

二、示例

1、生成秘钥对

  • 在A主机执行命令ssh-keygen -b 1024 -t rsa,无需更改参数,直接按几次回车即可。
[[email protected] ~]# ssh-keygen -b 1024 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
b3:9d:90:f8:60:66:45:72:c1:2f:8f:ea:32:80:b6:4c [email protected]
The key‘s randomart image is:
+--[ RSA 1024]----+
|      ..+.       |
|       +.        |
|        ..       |
|       o...      |
| .    * S+       |
|.E.  + o.=..     |
|+ ..   .o o      |
| o  o .          |
|     +.          |
+-----------------+
  • 参数说明:

-t [rsa|dsa]  指定要创建的密钥类型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2),我们选的rsa

-b 1024   指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。

  • 此操作会在/root/.ssh/目录下产生一对秘钥,id_rsa为私钥,id_rsa.pub为公钥文件,另外known_hosts是A主机已经登录过的远端ssh主机的地址记录,某些情况下,我们通过清空此文件的方式解决登录失败的问题。

2、复制公钥文件

将id_rsa.pub该文件内容复制出来,粘贴到远端B主机/root/.ssh/authorized_keys文件中,默认authorized_keys文件并不存在,手动创建即可。

3、测试

无需输入密码即可登录

4、说明

此测试存在限制条件,被登录主机的ssh配置需要开启远程访问权限。

原文地址:https://www.cnblogs.com/itbox/p/12154472.html

时间: 2024-08-10 18:06:17

Linux系统ssh远程免密登录的相关文章

linux下配置远程免密登录

linux下各种集群搭建往往需要配置远程免密登录,本文主要描述了CentOs6.3系统下配置免密登录的详细过程. ssh远程登录,两种身份验证: 用户名+密码 密钥验证 机器1生成密钥对并将公钥发给机器2,机器2将公钥保存. 机器1要登录机器2时,机器2生成随机字符串并用机器1的公钥加密后,发给机器1. 机器1用私钥将其解密后发回给机器2,验证成功后登录 1.用户名+密码 如上图所示,机器1要登录到机器2 ssh 机器2的ip(默认使用root用户登录,也可指定,如:ssh [email pro

2019-10-11 ubuntu ssh远程免密登录配置及配置别名

在客户端能正常远程访问服务端的前提下. 客户端: 1)配置免密 执行 ssh-keygen 即可生成 SSH 钥匙,回车三次. 执行 ssh-copy-id [email protected],可以让远程服务器记住我们的公钥.(user为远程服务器名,remote为ip地址) 2)配置别名 用ssh mac 来替代上面这么一长串,那么就在 ~/.ssh/config 里面追加以下内容: Host mac HostName ip地址 User itheima Port 22 保存之后,即可用  原

SSH配置免密登录

[参考文章]:linux服务器ssh免密码登录 [参考文章]:ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mic)” [参考文章]:ssh免密码登录Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 的解决方案! [参考文章]:ssh配置无密码登录 1. 生成服务器的公钥和私钥文件 输入命令:ssh-keygen -t rsa 提示输入点击回

Linux生成ssh公钥免密码登录远程主机和Xshell跨跳板机登录

##Linux生成ssh公钥免密码登录远程主机: 1:ssh-keygen -t rsa#生成密钥2:ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]#把本机的公钥追到远程主机172.16.205.117(登录账户hejm)的 ~/.ssh/authorized_keys 里注:如果ssh的端口不是22,可用参数p指定对应端口ssh-copy-id -i ~/.ssh/id_rsa.pub -p 23 [email protected] 或者通

虚拟机上实现三台centos7 ssh相互免密登录

各种教程特别多,我就把我遇到的问题重点写写方便下次使用. 1.创建ssh key生成两个id_rsa文件,一个带.pub的公钥和不带的私钥(三台机器都执行以下步骤) 命令: ssh-keygen -t rsa 使用分发命令分别将其中一台的生成的两个id_rsa.pub和id_rsa文件分发给其他两台机器 命令:scp id_rsa.pub Ip(目标机的ip):~/.ssh/ scp id_rsa Ip(目标机的ip):~/.ssh/ 3.在每个主机上建立autorities_keys 文件(其

linux系统ssh远程连接检查脚本

脚本用于检查Linux系统云服务器出现的常见远程不能连接问题,脚本可以提前放到服务器里,出现问题时可以web vnc登陆上去执行试试. 附:管理控制台终端web vnc 方式登录,参考:http://help.aliyun.com/view/11108189_13574044.html?spm=5176.7189909.0.0.IuYepv   下载地址: 英文版(web vnc连接可以下载该版本): wget http://jinxiang.oss-cn-hangzhou.aliyuncs.c

ssh安全免密登录

ssh key(使用非对称加密方式生成公钥和私钥) 私钥存放在本地~/.ssh目录(Linux系统) 公钥可以对外公开,复制到服务器的~/.ssh/authorized_keys文件内 win环境生成方式:xshell -> 工具 -> 用户秘钥管理者 -> 生成 -> rsa -> .. Linux环境生成方式:ssh-keygen -t rsa(一般默认选RSA) 或 ssh-keygen -t dsa 如果服务器~/.ssh/下面无authorized_keys:tou

Linux设置远程免密登录

1.生成公钥 / 私钥对 [[email protected] ~]# ssh-keygen -t rsa -P '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车.该命令将在用户/root/目录下面产生一个隐藏文件目录 .ssh,使用ls -a可以查看,/root/.ssh命令下面存放着一对密钥id_rsa和id_rsa.pub 2.创建authorized_keys文件,将id_rsa.pub内容复制到文件里面 [[email protect

服务器远程免密登录

1. 生成本地密钥 ssh-keygen 2. 将密钥上传到服务器 ssh-copy-id -p port [email protected] 3. 创建登录脚本 ssh -p port [email protected]28.128.128 原文地址:https://www.cnblogs.com/yeran/p/11348045.html