手动修改
如果你想手动修改 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=