📅  最后修改于: 2023-12-03 15:24:55.188000             🧑  作者: Mango
SSH(Secure Shell)是一种远程连接协议,允许您在两台计算机之间进行加密通信。在访问远程服务器时使用 SSH 特别方便,它可以为您提供安全加密的终端会话和文件传输。
只要您能够访问远程计算机的 SSH 服务器,您就可以通过终端会话或 sFTP 客户端在本地计算机上访问该计算机。但是,默认情况下,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 配置文件:
$ sudo nano /etc/ssh/sshd_config
找到以下行:
#PasswordAuthentication yes
将其更改为:
PasswordAuthentication yes
保存并关闭文件,重新启动 SSH 服务以使更改生效:
$ sudo systemctl restart ssh
现在您可以使用 SSH 连接到远程计算机并输入用户名和密码。在本地计算机的终端会话中运行以下命令:
$ ssh username@remote_host
添加您设置的密码后,您应该能够登陆您的远程计算机。
恭喜您成功地设置了 SSH 访问!