189 8069 5689

linux免密码传输命令 linux中免密登录的使用

Linux——配置服务器间的免密登录

ssh-keygen 命令 用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。SSH 密钥默认保留在 ~/.ssh 目录中。如果没有 ~/.ssh 目录,ssh-keygen命令会使用正确的权限创建一个。

主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、成都响应式网站建设公司、程序开发、微网站、小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都网站制作、网站建设、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体,具备承接不同规模与类型的建设项目的能力。

执行完命令后,会有几个选项给你选择,一般来说直接回车,使用默认配置即可。需要注意的是, 如果本身服务器已经生成过ssh秘钥了,这一步可以省略

想知道秘钥曾经生成过,可以看步骤二。

正常来说,如果 ssh-keygen 命令执行成功,我们可以在目录中看到有 id_rsa (存放私钥)和 id_rsa.pub (存放公钥)两个文件

先简单介绍一下 ssh-copy-id 命令

ssh-copy-id 命令可以把本地主机的公钥复制到远程主机的 authorized_keys 文件上。authorized_keys 文件用来验证 client 。使用 ssh-copy-id 命令将本地公钥复制到远程主机之后可以实现免密登录远程主机。如果不传入 -i 参数, ssh-copy-id 使用默认 ~/.ssh/identity.pub 作为默认公钥。 如果多次运行 ssh-copy-id ,该命令不会检查重复,会在远程主机中多次写入 authorized_keys 。

注意,本地 ~/.ssh/id_rsa 的权限,chmod 400 ~/.ssh/id_rsa ,该文件包含用于授权的私钥, 如果该文件可以被其他用户访问,ssh 会忽略该私钥。

执行完上述命令后,我们后续就可以免密登录其他服务器了。

如果需要配置免密登录的服务器比较多,我们可以通过脚本来解决这些重复性的动作。

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的连接和访问:

[root@node1 ~]# 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

[root@node2 ~]#

步骤二:

使用 ssh-key-gen 命令生成公钥和私钥,这里要注意的是可以对私钥进行加密保护以增强安全性。

[root@node1 ~]# 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:

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

| . ++ |

| o o o |

| o o o . |

| . o + .. |

| S . . |

| . .. .|

| o E oo.o |

| = ooo. |

| . o.o. |

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

步骤三:

用 ssh-copy-id 命令将公钥复制或上传到远程主机,并将身份标识文件追加到节点2的 ~/.ssh/authorized_keys 中:

[root@node1 ~]# 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:

[root@node1 ~]# ssh root@192.168.0.10

Last login: Sun Dec 13 14:03:20 2015 from

百度搜索《linux就该这么学》,技术干货里面有,也可以看下这本书!

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原理与运用(一):远程登录

Linux sudo操作免密码

sudo是以管理员权限进行操作,但是需要输入密码,如果想在用sudo时不用输入密码,需要修改 /etc/sudoers 文件。

首先需要备份一下 sudoers 文件,万一改崩了还有救。

使用 sudo visudo 命令打开, 如果失败了用 sudo vi /etc/sudoers

在最下面一行加上,下面的 username 需要改成自己的用户名:

如果要指定哪些操作不需要输入密码,需要在 NOPASSWD 后面加上指定命令:

保存退出之后,重新登录一次就可以了。

参考:

Linux 中不输入密码运行 sudo 命令的方法


文章标题:linux免密码传输命令 linux中免密登录的使用
文章地址:http://cdxtjz.cn/article/ddojdid.html

其他资讯