您好,欢迎访问宜昌市隼壹珍商贸有限公司
400 890 5375配置SSH密钥认证可实现免密码安全登录。1. 用ssh-keygen生成密钥对,默认保存在~/.ssh/id_rsa和~/.ssh/id_rsa.pub;2. 用ssh-copy-id或手动方式将公钥传至远程服务器的~/.ssh/authorized_keys;3. 确保sshd_config中PubkeyAuthentication为yes,可选禁用PasswordAuthentication;4. 重启sshd服务后测试ssh登录,成功则无需密码;5. 可通过~/.ssh/config设置别名简化连接。完成后提升安全与效率。
在Linux系统中,配置SSH密钥认证可以实现免密码登录远程服务器,提升安全性和操作效率。相比密码登录,密钥认证更难被暴力破解,是生产环境中的推荐做法。
在本地机器上生成公钥和私钥。通常使用ssh-keygen命令:
执行命令:
ssh-keygen -t rsa -b 2048按提示操作,可以选择保存路径(默认为~/.ssh/id_rsa)并设置私钥密码(可选)。完成后会生成两个文件:
把本地生成的公钥内容添加到远程主机的~/.ssh/authorized_keys文件中。有以下几种方式:
方法一:使用ssh-copy-id(推荐)
ssh-copy-id username@server_ip系统会提示输入用户密码,验证通过后自动将公钥追加到远程用户的authorized_keys中。
方法二:手动复制粘贴
cat ~/.ssh/id_rsa.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >>
~/.ssh/authorized_keys"
该命令将本地公钥通过SSH发送并写入远程服务器对应文件。
确保远程服务器的SSH服务允许密钥认证。编辑配置文件:
sudo nano /etc/ssh/sshd_config检查以下参数是否启用:
修改后重启SSH服务:
sudo systemctl restart sshd从本地尝试连接远程服务器:
ssh username@server_ip如果配置正确,将直接登录,无需输入密码。若设置了私钥密码,则需输入一次私钥口令。
可添加别名简化登录,编辑本地~/.ssh/config:
Host myserver之后只需输入ssh myserver即可连接。
基本上就这些。配置好后,日常运维、脚本自动化等场景都能无感连接,既方便又安全。