在Debian系统中,使用SSH密钥认证可以提高系统的安全性。此外,使用SSH密钥认证还可以免去每次登录时输入密码的麻烦。下面是在Debian中配置SSH密钥认证的详细步骤:
1. 生成密钥对
使用ssh-keygen命令可以生成密钥对。在终端中输入以下命令:
$ ssh-keygen -t rsa -b 4096
-t代表密钥类型,这里使用的是RSA算法;-b代表密钥长度,这里使用的是4096位。
接着,系统会提示输入密钥文件的保存位置和名称,也可直接回车使用默认值。然后会提示输入设置密码,不设密码直接回车即可。
2. 将公钥添加到远程主机
使用ssh-copy-id命令可以将公钥添加到远程主机。在终端中输入以下命令:
$ ssh-copy-id username@remote_host
其中,username是远程主机的登录用户名,remote_host是远程主机的IP地址或域名。
3. 配置sshd服务
在远程主机上修改 /etc/ssh/sshd_config 文件:
$ sudo nano /etc/ssh/sshd_config
确保以下参数设置如下:
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no
4. 重启sshd服务
使用以下命令重启sshd服务:
$ sudo service ssh restart
5. 测试SSH密钥认证
现在可以使用ssh命令连接远程主机,SSH将尝试使用您的SSH密钥进行身份验证。
$ ssh username@remote_host
如果一切正常,您将无需输入密码即可登录到远程主机。