学会Linux系统基本配置、用户授权、ssh免密登录操作

要在 Linux 上配置主机名,请先使用 sudo vim /etc/hostname 更改主机名,然后使用 sudo vim /etc/hosts 更新 IP 并重新启动才能生效。

用户身份验证。
首先用adduser zhjc添加用户,用passwd zhjc设置密码,勾选sudoers更改权限,添加用户信息。

SSH无密码登录,sudo apt-get install openssh-server 安装,ssh-keygen -t rsa -P ""生成密钥并将公钥复制到目标上的host.ssh/authorized_keys。

自己掂量一下。

怎样在Linux中配置SSH免密登录?ssh-keygen和authorized_keys设置步骤

哦,对了,Linux 允许无密码 SSH 登录。
我当时也为此付出了很多努力。
我将指导您完成您提到的步骤。
它们都是实际任务。

首先,我们来谈谈密钥对的生成。
在 Linux 上,使用 ssh-keygen 命令。
我知道这一点。
上次执行此操作时,我打开命令行并输入 ssh-keygen -t rsa -b 4 09 6 然后系统会提示您输入存储路径,这是默认的 ~/.ssh/id_rsa。
我一般直接按回车键,默认就可以了。
系统将再次要求您输入密码。
要完全登录而无需密码,请按 Enter 键并且不输入任何内容。
输入密码很不方便,因为每次使用都必须输入。
当时您可能有点困惑,认为直接上车会更容易。
然后它创建两个文件:一个是私钥 id_rsa.txt。
这项工作非常重要,必须严格保密。
不能向他人展示或透露。
另一个是公钥 id_rsa.pub。
这必须发送到远程服务器。

然后,您需要将公钥添加到远程服务器上的 Authorized_keys 文件中。
你说的两种方法我都用过。

一个是ssh-copy-id,比较方便。
您可以直接输入 ssh-copy-id user@remote_host,将 user 替换为您的远程用户名,remote_host 替换为您服务器的 IP 或域名。
首次运行时,系统会提示您输入远程用户的密码,之后它将自动将公钥添加到远程服务器上的 ~/.ssh/authorized_keys 文件中。
您可以自己使用,不用担心以后。
我更喜欢这种方法。
这很简单。

另一种是手动复制粘贴。
首先,查看本地公钥的内容并输入 cat ~/.ssh/id_rsa.pub 查看它的样子。
然后登录远程服务器并使用 ssh user@remote_host 键入。
进入~/.ssh后,如果该目录不存在,需要先创建该目录,然后对该目录设置权限,输入mkdir -p ~/.ssh chmod 7 00 ~/.ssh。
然后复制刚刚看到的公钥内容,并使用 echo "pasted public key content" >> ~/.ssh/authorized_keys 将内容替换为您的公钥,然后按 Enter。
最后,设置authorized_keys文件的权限并输入chmod 6 00 ~/.ssh/authorized_keys。
没关系。

然后是无密码登录确认。
你说得对。
终止当前的远程连接,然后使用 ssh user@remote_host 重新登录。
不需要输入密码,直接输入就成功了。
如果仍然提示您输入密码,您应该进行调查。

我尝试了您提到的所有故障排除方法。
一是公钥添加不正确。
确保 ~/.ssh/authorized_keys 文件的内容与您的本地公钥相同。
另一个问题是权限。
.ssh 目录必须具有 7 00 的权限,authorized_keys 文件必须具有 6 00 的权限。
请考虑如果您的权限不正确,SSH 如何知道您的公钥。
还有 SSH 服务器的配置。
远程服务器上的 /etc/ssh/sshd_config 文件中的 PubkeyAuthentication yes您需要确保 AuthorizedKeysFile .ssh/authorized_keys 包含两行: 如果没有,您将需要添加它,然后重新启动 SSH 服务。
您可以使用 sudo systemctl restart sshd 或 service ssh restart。

还有一件事,您忘记提及,如果您有多个密钥,则可能需要使用 -i 选项指定要使用的私钥,例如 ssh -i ~/.ssh/id_rsa user@remote_host。

你提到的注意事项我也很注意。
私钥文件必须安全,不能泄露。
最好将权限设置为 6 00 并输入 chmod 6 00 ~/.ssh/id_rsa。
要使用多个密钥,您可能需要在 ~/.ssh/config 文件中配置密钥以指定哪个密钥使用哪个主机。

如果这不起作用,您应该查看日志。
来自远程服务器的 SSH 日志通常位于 /var/log/auth.log 或 /var/log/secure 中。
检查那里是否有错误消息。

总的来说,上述步骤都很实用,可以帮助人们快速配置SSH无密码登录。
确实可以提高服务器管理的效率。

win10自带SSH免密登录Linux

说白了,Windows 1 0使用内置的SSH,只需几步即可免密码登录Linux,但细节可别搞错。

首先,生成 SSH 公钥时最重要的是确保您的命令提示符是最新版本的 Windows 1 0我们去年运行的一个项目使用的是旧版本的命令提示符,因此密钥生成失败。
另外需要注意的是,将公钥文件上传到Linux服务器时,不要使用压缩包并自行丢弃。
使用ssh-copy-id命令一键上传,并自动添加到~/.ssh/authorized_keys中。
这个任务很简单,但是很多人不重视。
还有另一个重要的细节。
修改Linux SSH配置文件时,请确保RSAAuthentication yes行之前没有空格。
否则会报错。
我们调试了好久才找到。

说实话,我很困惑。
起初我以为只需要上传公钥即可,但后来发现我错了。
您需要将 PubkeyAuthentication yes 添加到 Linux 上的 sshd_config 中。
否则,您仍然需要密码。
等等,还有一件事。
在测试无密码登录之前,您应该检查 Linux 服务器的时间同步。
去年就出现过因时差导致密钥认证失败的情况。

我们建议直接使用PowerShell来生成密钥,因为它更高效且不易出错。