手动修改
如果你想手动修改 authorized_keys 文件,可以按照以下步骤:
生成公钥(如果还没有):
如果还没有公钥,可以使用以下命令生成:ssh-keygen -t rsa -b 4096手动复制公钥:
找到你的公钥,通常位于~/.ssh/id_rsa.pub。使用命令查看:cat ~/.ssh/id_rsa.pub登录到远程服务器:
使用 SSH 登录到远程服务器:ssh username@remote_host编辑
authorized_keys文件:
在远程服务器上,使用文本编辑器(如nano或vim)打开~/.ssh/authorized_keys文件:nano ~/.ssh/authorized_keys添加公钥:
将复制的公钥粘贴到文件的末尾,确保每个公钥在单独的一行。保存并退出:
保存文件并退出编辑器。检查权限:
确保~/.ssh目录和~/.ssh/authorized_keys文件的权限正确:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
ssh 配置
要配置 SSH 仅支持公钥登录
登录到远程服务器:
使用 SSH 登录到远程服务器:ssh username@remote_host编辑 SSH 配置文件:
打开 SSH 配置文件/etc/ssh/sshd_config:sudo vim /etc/ssh/sshd_config修改配置:
确保以下配置项如下设置:PubkeyAuthentication yes PasswordAuthentication no ChallengeResponseAuthentication no确保公钥文件存在:
确保你的公钥已添加到~/.ssh/authorized_keys文件中,并且权限正确:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys保存并退出:
保存文件并退出编辑器。重启 SSH 服务:
重启 SSH 服务以应用更改:sudo systemctl restart ssh
通过ssh-copy-id传入
要配置 SSH 公钥免登录,可以按照以下步骤进行:
生成 SSH 密钥对(如果还没有):
在终端中运行以下命令:ssh-keygen -t rsa -b 4096按照提示选择存储位置(默认是
~/.ssh/id_rsa)和密码(可以留空)。将公钥复制到远程服务器:
使用ssh-copy-id命令将公钥复制到远程服务器:ssh-copy-id username@remote_host替换
username和remote_host为你的用户名和远程主机的地址。输入密码后,公钥会被添加到远程主机的~/.ssh/authorized_keys文件中。测试免登录:
尝试连接到远程主机,看看是否可以免输入密码:ssh username@remote_host(可选)检查权限:
确保~/.ssh目录和~/.ssh/authorized_keys文件的权限正确:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。与我联系email c2VjaW5mby5tQGdtYWlsLmNvbQo=