Administrator
发布于 2024-12-14 / 137 阅读
0
0

银河麒麟V10-SSH免密登录

1. 在客户端生成SSH密钥对

如果还没有生成SSH密钥对,可以在客户端机器上运行以下命令生成一对RSA密钥。如果你已经有了一个密钥对,并且想要使用它,可以跳过这一步。

ssh-keygen -t rsa
#当你执行上述命令时,会提示你输入保存密钥的文件路径(默认是~/.ssh/id_rsa),以及为私钥设置密码短语(passphrase)。为了实
#现免密登录,你可以直接按回车键,不设置密码短语。

2. 将公钥复制到服务器

有几种方法可以将公钥复制到远程服务器上:

使用ssh-copy-id命令(推荐)

#user替换为服务器上的用户名,kylin-server替换为服务器的主机名或IP地址。
ssh-copy-id user@kylin-server

手动复制

# 使用命令将公钥内容追加到服务器的~/.ssh/authorized_keys文件中。
cat ~/.ssh/id_rsa.pub | ssh user@kylin-server 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

3. 检查并调整服务器端的SSH配置

#确保服务器上的/etc/ssh/sshd_config文件中包含以下配置项,并且它们被设置为允许公钥认证:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#此外,确保.ssh目录和authorized_keys文件具有正确的权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

4. 重启SSH服务

#重启SSH服务以使更改生效。
sudo systemctl restart sshd

5. 测试免密登录

#测试ssh免密登录
ssh user@kylin-server

6. 反向配置(可选)

如果你希望两台机器能够互相免密登录,你需要重复以上步骤,在另一台机器上也生成SSH密钥对,并将公钥添加到对方的authorized_keys文件中。

注意事项:

确保防火墙规则允许SSH连接。 如果你在公司网络内工作,可能需要考虑网络安全策略,不要随意开放免密登录,尤其是对于生产环境中的服务器。 如果遇到问题,可以通过查看SSH日志(通常位于/var/log/auth.log或/var/log/secure)来排查错误。


评论