在Ubuntu系统中,使用SSH密钥认证可以提供更安全的远程登录方式。以下是设置和使用SSH密钥认证的步骤:
打开终端。
生成密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这将生成一个RSA密钥对,-b 4096表示密钥长度为4096位,-C后面是你用来标识密钥的注释(通常是你的电子邮件地址)。
选择保存位置:
按回车键接受默认位置(通常是~/.ssh/id_rsa),或者输入自定义路径。
设置密码短语(可选但推荐): 输入一个密码短语来保护你的私钥。
使用ssh-copy-id命令:
ssh-copy-id user@remote_host
这将提示你输入远程服务器的用户密码,并将你的公钥添加到远程服务器的~/.ssh/authorized_keys文件中。
手动复制公钥(如果ssh-copy-id不可用):
~/.ssh/id_rsa.pub)。ssh user@remote_host
.ssh目录(如果不存在)并设置正确的权限:mkdir -p ~/.ssh
chmod 700 ~/.ssh
~/.ssh/authorized_keys文件中:echo "your_public_key_content" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
直接登录:
ssh user@remote_host
如果一切设置正确,你应该能够无需输入密码直接登录。
配置SSH客户端(可选):
你可以在本地机器的~/.ssh/config文件中配置SSH连接,以便更方便地管理多个远程主机:
Host remote_host
HostName remote_host_ip_or_domain
User your_username
IdentityFile ~/.ssh/id_rsa
/etc/ssh/sshd_config文件,确保以下行未被注释且设置为yes:PubkeyAuthentication yes
sudo systemctl restart sshd
通过以上步骤,你就可以在Ubuntu系统中成功设置和使用SSH密钥认证了。