ssh免密码登录配置(如何通过linux ssh远程linux不用输入密码登入)

:暂无数据 2026-10-13 09:00:09 :0

ssh免密码登录配置(如何通过linux ssh远程linux不用输入密码登入)

大家好,如果您还对ssh免密码登录配置不太了解,没有关系,今天就由本站为大家分享ssh免密码登录配置的知识,包括如何通过linux ssh远程linux不用输入密码登入的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

如何通过linux ssh远程linux不用输入密码登入

    可以设置ssh密钥实现自动登录。

    1.创建ssh密钥.

    2.将生成的公钥传送到你要登录的远程主机,并将其加入文件  ~/.ssh/authorized_keys

    具体步骤如下:

    1.在你的主机生成密钥 ssh-keygen

 2.查看下生成的密钥   注意路径

3.把公钥id_rsa.pub添加到远程服务器(你要连接的)~/.ssh/authorized_keys里。

 先用scp把公钥拷过去。

然后把公钥导入authorized_keys

4.测试。

测试已经OK。但是我的公钥是设置了密码的,所以这里还是提示输入公钥密码。如果

不设置公钥密码就不需要密码了。

5.注意事项。

如果没有.ssh文件,请ssh 192.168.0.188 (IP可以SSH的)  随便执行一次会自动生成

如果没有authorized_keys  请touch一个。  touch authorized_keys  

修改下权限  chmod  authorized_keys               

用ssh免密码以root身份登陆vagrant虚拟机

原来登陆vagrant虚拟机都是用 vagrant ssh VM_name ,但是在自己虚拟机上,只是测试使用,为了方便想直接以root身份登陆而不是vagrant身份。

主机:mac os10.12.4
虚拟机: Ubuntu 14.04

下面是实现主机到虚拟机实现root免密码登陆:
1 sudo vim /etc/hosts ,在里面添加: VM_ip VM_name 。
2 把主机里的公钥拷贝到共享文件夹: cp ~/.ssh/id_rsa.pub ~/vagrant/id_rsa.pub
3 登陆到虚拟机内,执行下面的命令:

同样的原理可以实现从一台虚拟机通过ssh登陆到其他虚拟机,不懂可以联系我。
主要有几个点需要注意:

ssh免密码登录配置找不到另外两个节点

系统bug,网络问题。
1、系统bug是ssh免密码登录配置软件系统出现了问题导致找不到另外两个节点,等待官方修复即可。
2、网络问题是自身设备连接的网络出现较大波动,导致ssh免密码登录配置找不到另外两个节点,更换网络重新打开即可。

Linux免密码SSH登录(公钥登录)

SSH有两种登录方式, 一是口令登录, 即常规的用户名密码登录; 二是公钥登录, 只要在server端配置好client端的公钥, 就可以实现免密登录. 控制端为client端, 远程主机为server端, 下同.

在client端输入命令然后一路回车

运行结束以后,在client端~/.ssh/目录下,会新生成两个文件: id_rsa.pub 和 id_rsa 。前者是你的公钥,后者是你的私钥。这时再输入如下命令,将公钥传送到远程主机host上面:

server端将用户上传的公钥,保存在用户主目录的 ~/.ssh/authorized_keys 文件中。

原本以上配置就ok了,但是OpenWrt的ssh采用的是dropbear,一种轻量级的ssh服务。需要对其进行额外配置:

大功告成 -》

SSH参考资料: SSH原理与运用(一):远程登录

ssh 双机互信:免密码登录设置步骤及常见问题

在 linux 系统管理中,设置免密码登录,进行机器的批量管理是最常用的一个方法。比如针对几十甚至上百台线上机器,通常我们会设置一台“发布机”作为中央控制机对其它线上机器免密码登录,然后进行软件、配置文件的分发、更新、部署。当然了,针对上面的问题,解决方案并非最优且唯一,比如你也可以用 expect 模拟自动输入来完成自动登录验证这一过程,或者用现在一些开源的软件自动化配置和部署工具,比如 Puppet,但这都不在本文的讨论范畴,今天咱们要说的就是这种最原始、最有效、最直接的方式:免密码登录。

(1)问题:

假设:现有2台机器

1、个人机192.168.1.110

2、服务器192.168.1.112

要使110无需密码通过ssh登入112
(2)步骤

1、创建密钥

2、复制公密到服务器

3、添加公密到192.168.112的信任区域

注: 2,3两步可由命令ssh-copy-id一步到位

4、测试

此时整个步骤已经完成,你可以尝试 ssh ip 或者 /etc/hosts 中的主机名试试。

(3)可能遇到的问题

1、在使用 ssh-copy-id 错误提示

表现:
公钥,私钥已经生成,执行上述命令完毕出现如下错误:

$ ssh-copy-id remote-machine

/usr/bin/ssh-copy-id: ERROR: No identities found

解决方法:

g 之发现缺少公钥路径,通过 -i 加上即可:

2、ssh ip 可以成功登录,ssh hostname 却失败

表现:

ssh hostname

ssh: connect to host localhost port 22: Connection refused

解决方法:

看下对方的主机名是不是在 /etc/hosts 文件中和 ip 做了映射,没有就加上即可。

3、ssh 的配置目录权限问题

由于 ssh 的权限直接关系到服务器的安全问题,因此 ssh 每次读取配置都会校验相关文件夹和文件的权限,以防止权限过大对外暴露。

表现:
设置了.ssh目录,在authorized_keys设置了key后登录还提示需要输入密码。

解决方法:

注意权限,.ssh权限700,authorized_keys权限600,就KO啦!

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

4、ssh localhost:publickey 授权失败

注:ssh可同时支持publickey和password两种授权方式,publickey默认不开启,需要配置为yes。
如果客户端不存在.ssh/id_rsa,则使用password授权;存在则使用publickey授权;
如果publickey授权失败,依然会继续使用password授权。
不要设置 PasswordAuthentication no ,它的意思是禁止密码登录,这样就只能本机登录了!
5、ssh localhost:Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

最后重启你的 linux 执行 ssh localhost
6、ssh localhost:需要密码

cat ~/.ssh/id_rsa.pub 》》 ~/.ssh/authorized_keys

7、ssh ip 或 hostname 均提示:connection refused

目标主机的ssh server端程序是否安装、服务是否启动,是否在侦听22端口;
是否允许该用户登录;
本机是否设置了iptables规则,禁止了ssh的连入/连出;
***隐藏网址***
(4)最后的问题

本文介绍的建立基于免密码登录,双机互信的管理方式简单、直接,但是安全就是个问题了,稍有不慎容易被一锅端,建议加上防火墙的端口、ip 策略,有条件的话试试动态口令,这样会更稳妥些。再有就是当机器规模达到上百、上千台的时候,如果对文件数据、机器状态的实时同步、一致性的要求很高的时候,这种管理方式的弊端就出来了。

(5)Refer:

***隐藏网址***

***隐藏网址***

***隐藏网址***

***隐藏网址***

linux下怎样设置ssh无密码登录

在CentOS/RHEL上设置SSH免密码登录
导读 作为系统管理员,你计划在 Linux 上使用 OpenSSH,完成日常工作的自动化,比如文件传输、备份数据库转储文件到另一台服务器等。为实现该目标,你需要从主机 A 能自动登录到主机 B。自动登录也就是说,要在 shell 脚本中使用ssh,而无需要输入任何密码。
本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录。自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件。
SSH 是开源的,是用于远程登录的最为可靠的网络协议。系统管理员用它来执行命令,以及通过 SCP 协议在网络上向另一台电脑传输文件。
通过配置 SSH 免密码登录,你可以享受到如下的便利:
◆用脚本实现日常工作的自动化。
◆增强 Linux 服务器的安全性。这是防范虚拟专用服务器(VPS)遭受暴力破解攻击的一个推荐的方法,SSH 密钥单凭暴力破解 是几乎不可攻破的。
什么是 Ssh-Keygen
ssh-keygen 是一个用来生成、创建和管理 SSH 认证用的公私钥的工具。通过 ssh-keygen 命令,用户可以创建支持SSH1 和 SSH2 两个协议的密钥。ssh-keygen 为 SSH1 协议创建 RSA 密钥,SSH2 则可以是 RSA 或 DSA。
什么是 Ssh-Copy-Id
ssh-copy-id 是用来将本地公钥拷贝到远程的 authorized_keys 文件的脚本命令,它还会将身份标识文件追加到远程机器的 ~/.ssh/authorized_keys 文件中,并给远程主机的用户主目录适当的的权限。
SSH 密钥
SSH 密钥为登录 Linux 服务器提供了更好且安全的机制。运行 ssh-keygen 后,将会生成公私密钥对。你可以将公钥放置到任意服务器,从持有私钥的客户端连接到服务器的时,会用它来解锁。两者匹配时,系统无需密码就能解除锁定。
在 CentOS 和 RHEL 上设置免密码登录 SSH
以下步骤在 CentOS 5/6/7、RHEL 5/6/7 和 Oracle Linux 6/7 上测试通过。
节点1:192.168.0.9 节点2 : 192.168.0.10
本章目录结构
步骤一 :
步骤二:
步骤三:
步骤四:
步骤一 :
测试节点1到节点2的连接和访问:
# ssh root@192.168.0.10
The authenticity of host ’192.168.0.10 (192.168.0.10)’ can’t be established.
RSA key fingerprint is 6d:8f:63:9b:3b:63:e1:72:b3:06:a4:e4:f4:37:21:42.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ’192.168.0.10’ (RSA) to the list of known hosts.
root@192.168.0.10’s password:
Last login: Thu Dec 10 22:04:55 2015 from 192.168.0.1
#
步骤二:
使用 ssh-key-gen 命令生成公钥和私钥,这里要注意的是可以对私钥进行加密保护以增强安全性。
# ssh-keygen
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:
b4:51:7e:1e:52:61:cd:fb:b2:98:4b:ad:a1:8b:31:6d root@node1.ehowstuff.local
The key’s randomart image is:
+------+
| . ++ |
| o o o |
| o o o . |
| . o + .. |
| S . . |
| . .. .|
| o E oo.o |
| = ooo. |
| . o.o. |
+-----------------+
步骤三:
用 ssh-copy-id 命令将公钥复制或上传到远程主机,并将身份标识文件追加到节点2的 ~/.ssh/authorized_keys 中:
# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.0.10
root@192.168.0.10’s password:
Now try logging into the machine, with "ssh ’192.168.0.10’", and check in:
.ssh/authorized_keys
to make sure we haven’t added extra keys that you weren’t expecting.
步骤四:
验证免密码 SSH 登录节点2:
# ssh root@192.168.0.10
Last login: Sun Dec 13 14:03:20 2015 from www.ehowstuff.local
百度搜索《linux就该这么学》,技术干货里面有,也可以看下这本书!

如何在linux中如何配置ssh免密码登录

首先需要在服务器端设置/etc/ssh/sshd_config
# vim /etc/ssh/sshd_config
修改如下两行为yes。其实大多数情况下不用修改,默认就是yes。
RSAAuthentication yes
PubkeyAuthentication yes
(1) 如果客户机和服务器都是Linux机器,那么我们使用下面的方法:(后面第2节会提到怎么在Windows下使用Putty生成密钥对)
我们需要在客户端生成RSA密钥对。使用ssh-keygen命令:
# ssh-keygen -t rsa
参数t的意思是type,后面跟着加密类型,这里我们是rsa。
然后会提示你输入密钥保存完成文件名,这里我们需要使用默认的id_rsa,之后才能正常才能登录。如果你生成的密钥作为其他用处,那么可以命名为其他名称:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cake/.ssh/id_rsa):
之后会提示你输入一个passphrase,我们这里可以留空,这样我们登录的时候就不许输入密码。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
然后会提示你密钥生成成功。这是你的私钥保存为~/.ssh/id_rsa,你的公钥是~/.ssh/id_rsa.pub
我们现在需要做的是,把id_rsa.pub的内容,添加的服务器端的~/.ssh/autherized_keys文件最后。
你可以把这个文件上传到服务器端,然后使用命令:
# cat id_rsa.pub 》》 ~/.ssh/autherized_keys
到这里就完成了。
(2) 在Windows下使用Putty生成密钥对:
Putty的安装目录下有个puttygen.exe程序,我们运行这个程序。
之后点击Generate,开始生成密钥对。我们需要根据提示,在指定方框内随机滑动鼠标。这是为了根据鼠标轨迹,产生一些随机数据。
之后生成结束,我们点击Save Private Key将私钥存放在某个目录中。然后赋值最上面文本框中的全部内容,粘贴到Linux服务器端的autherized_key的最后。
我们现在可以关闭这个小程序。
现在打开Putty,在左边的选项中,选择Conneciton–SSH–Auth,在Private key file for authentication中,选择刚才保存的私钥路径就可以了。
到此位置,Putty也可以不用密码登录了。

centos7配置ssh

centos7 dvd镜像自带ssh服务,但是一路配置下来发现没有/.ssh文件夹,需要注意
环境为刚完成安装的崭新centos7

存疑 因为我并没有找到这个文件夹。即使不做这一步也能成功连接ssh

以下是服务器免密码登录,我并没有做,而且与网上其他方法不同,现在这贴出来

服务器免密码登录

将公钥粘贴其中
esc 后输入 :wq 保存退出
完成服务器免密码登录配置

***隐藏网址***

CentOS修改ssh端口号及ssh免密码登录

一般ssh的默认端口为22
比如正常使用终端登录局域网电脑

注意是 sshd_config 文件

在#Port 22行去掉#号注释,同时加入想要使用的端口号如 Port 22438

这里保留22端口是为了防止当前无法使用ssh登录

成功返回success
重启防火墙:

成功返回success
查看添加端口是否成功,成功则显示yes,否则为no:

查看本机SELinux状态,如果是关闭则可以跳过此步骤

以下使用semanage操作,没有可以使用以下命令安装:

以下命令为查看当前SELinux允许的ssh端口:

添加22438端口到SELinux,并确认

测试新端口ssh连接

可以正常登录即成功

将之前开放的Port 22一行注释掉并保存

然后重启ssh

使用以下命令无法登录服务器

本机终端输入:

配置相关全部直接回车
在~/.ssh/目录下生成两个文件

在本机终端输入:

在本机将认证文件复制到服务器

如果服务器上没有文件夹就新建一个.ssh/文件夹

Enjoy

OK,关于ssh免密码登录配置和如何通过linux ssh远程linux不用输入密码登入的内容到此结束了,希望对大家有所帮助。

ssh免密码登录配置(如何通过linux ssh远程linux不用输入密码登入)

本文编辑:admin

更多文章:


getrealpath参数(java怎么读取web工程里面的文件)

getrealpath参数(java怎么读取web工程里面的文件)

大家好,关于getrealpath参数很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于java怎么读取web工程里面的文件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位

2026年10月14日 14:40

makefile文件怎么用(怎么打开使用makefile文件不是语法的依赖关系!!)

makefile文件怎么用(怎么打开使用makefile文件不是语法的依赖关系!!)

大家好,如果您还对makefile文件怎么用不太了解,没有关系,今天就由本站为大家分享makefile文件怎么用的知识,包括怎么打开使用makefile文件不是语法的依赖关系!!的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始

2026年10月14日 13:00

js字符串转number(js字符串加数字是什么类型)

js字符串转number(js字符串加数字是什么类型)

各位老铁们,大家好,今天由我来为大家分享js字符串转number,以及js字符串加数字是什么类型的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月14日 12:00

jdkpath环境变量配置(Path环境变量的配置)

jdkpath环境变量配置(Path环境变量的配置)

大家好,如果您还对jdkpath环境变量配置不太了解,没有关系,今天就由本站为大家分享jdkpath环境变量配置的知识,包括Path环境变量的配置的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月14日 09:20

socket编程中(Socket 编程中 close() 和 shutdown() 有什么区别)

socket编程中(Socket 编程中 close() 和 shutdown() 有什么区别)

大家好,今天小编来为大家解答以下的问题,关于socket编程中,Socket 编程中 close() 和 shutdown() 有什么区别这个很多人还不知道,现在让我们一起来看看吧!

2026年10月14日 08:20

用jsp做一个登录网页(JSP作业,求大神写代码!编制一个简单的登录界面)

用jsp做一个登录网页(JSP作业,求大神写代码!编制一个简单的登录界面)

大家好,今天小编来为大家解答以下的问题,关于用jsp做一个登录网页,JSP作业,求大神写代码!编制一个简单的登录界面这个很多人还不知道,现在让我们一起来看看吧!

2026年10月14日 06:50

change directory(change directory是什么意思)

change directory(change directory是什么意思)

各位老铁们,大家好,今天由我来为大家分享change directory,以及change directory是什么意思的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面

2026年10月14日 04:20

javascript基础教程第9版(js鼠标悬停显示文字实例)

javascript基础教程第9版(js鼠标悬停显示文字实例)

本篇文章给大家谈谈javascript基础教程第9版,以及js鼠标悬停显示文字实例对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月14日 03:50

power作为力量可数吗(力量的英文是)

power作为力量可数吗(力量的英文是)

本篇文章给大家谈谈power作为力量可数吗,以及力量的英文是对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月14日 02:50

excel中index函数的用法(EXCEL工作簿中多个工作表如何应用函数INDEX)

excel中index函数的用法(EXCEL工作簿中多个工作表如何应用函数INDEX)

这篇文章给大家聊聊关于excel中index函数的用法,以及EXCEL工作簿中多个工作表如何应用函数INDEX对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月14日 01:40

最近更新

16个天气图标(常用的天气符号)
2026-10-14 16:30:13 浏览:0
热门文章

打印机m7400(m7400打印机清零方法)
2026-08-29 07:50:01 浏览:5
acrobat各版本区别(Acrobat XI Pro与 Acrobat PRO DC什么区别)
2026-08-29 22:30:20 浏览:2
联想y510p怎么升级(联想y510p换cpu)
2026-08-17 03:30:04 浏览:2
标签列表