Linux SSH实现无密码远程登录

 

一、      SSH无密码远程登录原理

二、      SSH实现无密码远程登录

实现主机A 无密码远程登录主机B

主机A   IP地址:10.8.9.154

主机B   IP地址:10.8.9.155

1、  主机A操作如下:

[[email protected] .ssh]# pwd                                              #一般SSH生成公钥和私密会在.ssh目录下,如果没有此目录可以手动创建

/root/.ssh

[[email protected] .ssh]# ls                                                  #一般.ssh目录会存在一个文件known_hosts,此文件主要记录本地SSH远程登录过哪些主机

known_hosts

[[email protected] .ssh]# ssh-keygen  -t  rsa  -P  ‘‘             #执行ssh-keygen生成公钥和私钥,-P表示密码,’’ 表示空密码,也可以不使用 –P 参数,这样就要按三次回车,用 -P就输入一次回车

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):             #按一次回车键即可

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:

9c:f5:83:54:fd:da:6b:1a:9b:e3:d8:cf:ca:c9:b3:b4 [email protected]

The key‘s randomart image is:

+--[ RSA 2048]----+

|            ..   |

|           .  .  |

|          o    . |

|       . + o    .|

|        S . o  o |

|             .. .|

|             o  .|

|            *oBo |

|           ..EOo |

+-----------------+

[[email protected] .ssh]# ls            # id_rsa(私钥)   id_rsa.pub (公钥)

id_rsa  id_rsa.pub  known_hosts

[[email protected] .ssh]# scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys  #把主机A /root/.ssh/id_rsa.pub 公钥复制到主机B /root/.ssh/authorized_keys文件里(要确认主机B已经创建好/root/.ssh目录),由于还没有免密码登录,所以要输入一次B主机的root密码

[email protected]‘s password:      #输入主机B的密码

id_rsa.pub                                                             100%  400     0.4KB/s   00:00

注意:主机B 目录/root/.ssh/authorized_keys文件需要具有读写权限,否则会提示远程失败

[[email protected] .ssh]# ls -l authorized_keys

-rw-r--r-- 1 root root 400 Jun  5 11:47 authorized_keys

现在主机A可以实现SSH无密码远程登录主机B (如果第一次登录需要输入 yes)

[[email protected] .ssh]# ssh [email protected] ‘chmod 600 /root/.ssh/authorized_keys ; ls -l /root/.ssh/authorized_keys‘  #执行SSH远程主机B修改authorized_keys文件权限

-rw-------. 1 root root 400 1月   6 02:02 /root/.ssh/authorized_keys

特殊问题:

问题:如果执行scp或ssh命令远程连接特殊慢才显示出输入密码提示还提示错误信息

[[email protected] .ssh]# scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys                      #执行scp命令远程复制会出现连接缓慢并且还有警告

The authenticity of host ‘10.8.9.155 (10.8.9.155)‘ can‘t be established.

RSA key fingerprint is b6:a2:4d:65:af:cf:19:97:99:ff:1e:99:5f:ec:1b:7a.

Are you sure you want to continue connecting (yes/no)? yes                                                                                          #第一次登录,所以需要输入 yes

Warning: Permanently added ‘10.8.9.155‘ (RSA) to the list of known hosts.

解决办法:修改SSH配置文件/etc/ssh/ssh_config,手动添加GSSAPIAuthentication no

[[email protected] .ssh]#vim /etc/ssh/ssh_config

GSSAPIAuthentication no

[[email protected] .ssh]# scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys

[email protected]‘s password:

时间: 2024-10-10 07:48:22

Linux SSH实现无密码远程登录的相关文章

SSH免密码远程登录Linux

其实这个问题的网上.园子里已经有很多的博客介绍了,但多数都忽略了一个问题,就是生成公钥时是不要输入密码的,整理一下: 1. 有A,B两台机(Linux/unix), 要想从A用ssh远程登录到B上(假设各自的IP,A:192.168.100:B:192.168.1.104). 2. 在A机上,用“ssh-keygen -t rsa”命令生成公钥,注意这里一直回车就是了.好了,这时在“~/.ssh/”下就已经生成“id_rsa.id_rsa.pub”两个文件了. 3. 还在A机上,将刚才生成的id

SSH服务端远程登录的配置

SSH服务的服务启动文件位置: #ls –l  /etc/init.d/sshd 查看SSH服务的进程 #ps –ef |grep sshd Ssh服务的配置文件位置 #ll /etc/ssh/sshd_config         //ssh_config是Linux客户端文件 4. 修改文件之前,先要备份文件 #cd /etc/ssh #cp sshd_config  sshd_config.cuilong.20150706 修改sshd_config文件 #vim sshd_config 

linux操作日志:远程登录设置

想要远程linux服务器,首先需要在服务器上开通ssh服务,安装命令如下: sudo apt-get install openssh-server   在上图的提示中,输入“y”,继续等待安装,安装成功后如下图所示   启动ssh-server服务,默认情况下安装结束后就自动启动了,可以用下列命令进行确认: ps -e |grep ssh,如果看到截图中的sshd说明ssh-server启动成功了 启动sshserver命令:service ssh start 或者sudo /etc/init.

【终端命令】SSH服务,远程登录

一.SSH协议 在Linux中SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上. SSH客户端是一种 使用"Secure Shell (SSH)"协议连接到远程计算机 的软件程序. SSH是目前比较可靠,为专门远程登录会话和其它网络服务 提供安全的协议. 利用 SSH协议 可以有效防止远程管理过程中的信息泄露. 通过 SS协议 可以对所有传输的数据进行加密,也能够防止 DNS欺骗 和 IP欺骗. SSH的另一项优点是传输的数据可以是经过压缩的,所以可

linux ssh秘钥配置登录

#ssh-keygen -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. Y

linux ssh 不用密码自动登录的几种方法

1. 自动ssh/scp方法== A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运行命令:# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)# ssh [email protected] "mkdir .ssh" (需要输入密码)# scp ~/.ssh/id_rsa.pub [email protected]:.ssh/id

linux下禁止root远程登录

一.添加和root权限一样的用户 1. adduser admin passwd  admin (修改密码) 2.修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示 vim /etc/sudoers  ## Allow root to run any commands anywhere root ALL=(ALL) ALL admin ALL=(ALL) ALL 二.禁止root远程登录 需要编辑/etc/ssh/sshd_config. vim /etc/ss

Linux ssh 允许 root用户 登录

1.简介 1.1 介绍     为了 系统 安全,某些 情况下,对于 root用户(超级管理员) 外部 不能 通过 ssh 访问:但 大多数 情况下,例如 很多 应用 的部署,大多 需要 超级 管理 权限,而且 也是 内部 网络,外界 无法 访问,所以 允许 root 用户 ssh 方式 登录 也不失为 明智之举:(哈哈哈,root 用户 操作 还是 要 谨慎 操作 的 ,毕竟 有些操作 很容易 造成 无法挽回 的 后果,所以 还有 一种 获取 root 同等 权限 的方式 更推荐 使用 --

linux 用xshell工具远程登录

1.设置linux,获取ip,登录名.密码 2.xshell登录 原文地址:https://www.cnblogs.com/ligenyun/p/10793523.html