📜  如何设置密码 ssh 访问 askubuntu - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:24:55.188000             🧑  作者: Mango

如何设置密码 SSH 访问 AskUbuntu - Shell-Bash

SSH(Secure Shell)是一种远程连接协议,允许您在两台计算机之间进行加密通信。在访问远程服务器时使用 SSH 特别方便,它可以为您提供安全加密的终端会话和文件传输。

只要您能够访问远程计算机的 SSH 服务器,您就可以通过终端会话或 sFTP 客户端在本地计算机上访问该计算机。但是,默认情况下,SSH 在远程计算机上不允许普通用户直接使用口令登录。如果您只想让特定用户使用 SSH 访问您的远程计算机并设置登录口令,则需要按下面的步骤操作。

生成 SSH 密钥

首先,您需要在本地计算机上生成 SSH 密钥对。如果您已有 SSH 密钥,则可以跳过此步骤。

$ ssh-keygen

按照提示在要求用户输入的地方键入回车即可保留默认提示。接下来需要对密钥对进行加密,这是一个很好的安全实践:

$ ssh-keygen -f ~/.ssh/id_rsa -o -a 100
将公钥复制到远程计算机

接下来,您需要将您本地计算机上生成的公钥部分(id_rsa.pub)复制到您想要使用 SSH 访问的远程计算机上的相应文件中。假设您已经有了 SSH 的访问权限,可以使用 SSH 直接登录到远程计算机:

$ ssh username@remote_host

在远程主机上,可以通过以下命令创建一个名为“ authorized_keys”的文件夹,并将您的公钥复制到其中:

$ mkdir -p ~/.ssh
$ touch ~/.ssh/authorized_keys
$ nano ~/.ssh/authorized_keys

在您的本地计算机上打开 ~/.ssh/id_rsa.pub 文件,将其内容复制到远程计算机上的 authorized_keys 文件中。

$ cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

退出远程计算机:

$ exit
配置 SSH 访问

在远程计算机上,打开您的 SSH 配置文件:

$ sudo nano /etc/ssh/sshd_config

找到以下行:

#PasswordAuthentication yes

将其更改为:

PasswordAuthentication yes

保存并关闭文件,重新启动 SSH 服务以使更改生效:

$ sudo systemctl restart ssh
测试 SSH 访问

现在您可以使用 SSH 连接到远程计算机并输入用户名和密码。在本地计算机的终端会话中运行以下命令:

$ ssh username@remote_host

添加您设置的密码后,您应该能够登陆您的远程计算机。

恭喜您成功地设置了 SSH 访问!