Linux下SSH免密码登录配置详解

在Linux系统中,SSH(Secure Shell)是一种用于远程登录和管理服务器的安全协议,通过SSH,我们可以在本地计算机上执行命令,就像直接在服务器上操作一样,为了提高安全性和便捷性,我们通常会配置SSH免密码登录,本文将详细介绍如何在Linux下配置SSH免密码登录。

准备工作

1、确保服务器已经安装了SSH服务,如果没有安装,可以使用以下命令进行安装:

Linux下SSH免密码登录配置详解

对于基于Debian的系统(如Ubuntu):

```

sudo apt-get update

sudo apt-get install openssh-server

```

对于基于RPM的系统(如CentOS、Fedora):

```

sudo yum install openssh-server

```

2、生成SSH密钥对,在本地计算机上执行以下命令:

```

ssh-keygen -t rsa

```

按照提示操作,可以选择默认路径和文件名,也可以自定义,最后会生成两个文件:私钥(默认为id_rsa)和公钥(默认为id_rsa.pub)。

配置免密码登录

1、将公钥复制到服务器上的authorized_keys文件中,使用以下命令将公钥内容复制到剪贴板:

```

cat ~/.ssh/id_rsa.pub | clip

Linux下SSH免密码登录配置详解

```

通过SSH登录到服务器:

```

ssh 用户名@服务器IP地址

```

输入密码后,进入服务器,接下来,创建一个新的authorized_keys文件,并将剪贴板中的公钥内容粘贴进去:

```

mkdir ~/.ssh

touch ~/.ssh/authorized_keys

echo '粘贴剪贴板中的公钥内容' >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

```

2、修改服务器上的SSH配置文件,编辑SSH配置文件/etc/ssh/sshd_config,找到或添加以下两行:

```

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

```

Linux下SSH免密码登录配置详解

保存并退出编辑器,重启SSH服务以使更改生效:

```

sudo systemctl restart sshd

```

至此,SSH免密码登录配置完成,现在,尝试再次通过SSH登录服务器,应该不再需要输入密码。

注意事项

1、为了保证安全,建议将私钥文件设置为只读权限:

```

chmod 400 ~/.ssh/id_rsa

chmod 400 ~/.ssh/id_rsa.pub

```

2、如果需要在多个服务器上使用相同的SSH密钥对进行免密码登录,可以将公钥添加到所有服务器的authorized_keys文件中,但这样做可能会导致安全问题,因为如果一个服务器的私钥泄露,其他服务器也会受到影响,建议为每个服务器单独生成一对SSH密钥对。

3、如果需要禁用SSH免密码登录,只需删除服务器上的authorized_keys文件或注释掉PubkeyAuthenticationAuthorizedKeysFile这两行配置即可,然后重启SSH服务以使更改生效。

相关问题与解答

问题1:为什么在执行ssh-keygen -t rsa时提示“无法打开设备”?

解答:这个问题通常是由于没有指定私钥文件的存储位置导致的,可以尝试指定一个路径和文件名,ssh-keygen -t rsa -f ~/my_key,这样,私钥文件将被保存在~/my_key目录下。

问题2:为什么在服务器上执行systemctl restart sshd时提示“Unit sshd.service not found”?

解答:这个问题可能是由于使用的Linux发行版不同导致的,在某些发行版中,SSH服务的管理单元名称可能不是sshd.service,请参考相应发行版的文档,找到正确的管理单元名称,然后执行相应的命令来重启SSH服务,在CentOS和Fedora中,可以使用以下命令:sudo systemctl restart sshd.servicesudo systemctl restart openbsd-sshd.service

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/355906.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年3月11日 20:41
下一篇 2024年3月11日 20:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入