linux免登录 linux服务器之间免密登录

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

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

执行完命令后,会有几个选项给你选择,一般来说直接回车,使用默认配置即可。需要注意的是,如果本身服务器已经生成过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快速实现免密登录Linux免密登录

Linux快速实现免密登录

Linux操作系统是多人共用的操作系统,经常需要用户通过输入用户名和密码来登录,有时登录不方便,这时下面的方法可以帮助用户快速实现无需密码登录 Linux系统,帮助用户手动指定用户可以使用 ssh免密码登录。

第一步:确定用户已在 Linux系统中,或许您可以在系统中添加新用户:

# useradd username

第二步:在 Linux系统中给新增加的用户添加密码:

# passwd username

第三步:查看 ssh服务是否开启,如果关闭,请使用以下命令开启 ssh服务:

# service sshd start

第四步:生成秘钥文件,登录 Linux系统以 root身份运行以下命令:

# ssh-keygen-t rsa

第五步:将用户私钥文件复制到允许免密登录的用户上,使用以下命令:

# ssh-copy-id-i~/.ssh/id_eder username@remote_host

第六步:修改 ssh配置文件,使用以下命令编辑配置文件:

# vi/etc/ssh/sshd_config

第七步:配置 ssh配置文件,取消 RSA/DSA认证密码登录,允许免密登录,在配置文件中修改以下值:

RSAAuthentication no

PubkeyAuthentication yes

第八步:重启 ssh服务,使用下面的命令重启 ssh服务:

# service sshd restart

经过以上步骤,用户就可以快速将已存在的用户以及新增加的用户实现免密登录 Linux系统了。Linux免密登录不仅节省用户时间,而且可以提高用户访问 Linux系统的安全性。

Linux下实现免密码登录

在Linux环境下,实现免密码登录主要通过SSH密钥认证。首先,生成密钥对是基础操作。使用`ssh-keygen`命令,通过`ssh-keygen-t rsa`生成一个包含私钥(id_rsa)、公钥(id_rsa.pub)及配置文件的`.ssh`目录。该目录下,`authorized_keys`文件存放远程免密登录的公钥,记录多台机器的公钥信息,而私钥(id_rsa)则用于本地认证。

为了确保SSH公钥生效,需确保`.ssh`目录的权限为700,`authorized_keys`文件的权限为600。接下来,介绍实现远程免密登录的几种方法。

一种常用方法是使用`ssh-copy-id`命令。执行命令`ssh-copy-id-i~/.ssh/id_rsa.pub 192.168.91.135`,将本地公钥复制到远程服务器的`authorized_keys`文件中。如果出现`-bash: ssh-copy-id: command not found`错误,通过安装`openssh-clients`包解决问题。

另一种方法是通过`scp`命令将公钥内容复制到远程服务器的`authorized_keys`文件中,命令格式为`scp-p~/.ssh/id_rsa.pub root@:/root/.ssh/authorized_keys`。同样,也可以将操作分为两步执行。

Ansible工具提供了批量免密登录的解决方案。通过Ansible配置,可以自动将公钥复制到多台服务器的`authorized_keys`文件中,实现批量免密码登录。

最后,手工复制粘贴也是实现免密码登录的一种方式。将本地`id_rsa.pub`文件的内容直接拷贝至远程服务器的`~/.ssh/authorized_keys`文件中,完成免密码登录的配置。

阅读剩余
THE END