要设置SSH自动登录,您需要在客户端生成SSH密钥对,并将公钥添加到服务器的授权密钥列表中。以下是详细步骤:
打开终端(在Windows上可以使用Git Bash、Cygwin或Windows Subsystem for Linux)。
生成SSH密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,通常会问您保存密钥的位置和文件名。默认情况下,它们会被保存在~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。
确认密钥已生成:
ls -al ~/.ssh
您应该能看到id_rsa和id_rsa.pub文件。
复制公钥内容:
cat ~/.ssh/id_rsa.pub
复制输出的内容。
登录到服务器:
ssh username@server_ip
编辑或创建~/.ssh/authorized_keys文件:
nano ~/.ssh/authorized_keys
如果文件不存在,可以直接创建。
粘贴公钥:
将之前复制的公钥内容粘贴到authorized_keys文件中,每行一个。
保存并退出:
在nano编辑器中,按Ctrl+O保存,然后按Ctrl+X退出。
设置正确的权限:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
ssh username@server_ip
如果一切设置正确,您应该能够直接登录,而无需输入密码。id_rsa)的安全性,不要将其泄露给他人。/etc/ssh/sshd_config文件中的以下设置:PubkeyAuthentication yes
然后重启SSH服务:sudo systemctl restart sshd
通过以上步骤,您就可以成功设置SSH自动登录了。