在Linux系统中,SSH互信(SSH key exchange)是一种安全的验证方法,允许两台计算机之间无需密码即可互相访问
安装OpenSSH客户端和服务器: 对于大多数Linux发行版,OpenSSH已经预装。如果没有,可以使用包管理器安装。例如,在Debian和Ubuntu上,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install openssh-client openssh-server
生成SSH密钥对: 在本地计算机上生成SSH密钥对,以便用于与远程计算机进行身份验证。打开终端并输入以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,密钥将保存在~/.ssh/id_rsa
(私钥)和~/.ssh/id_rsa.pub
(公钥)文件中。
将公钥添加到远程计算机的authorized_keys文件:
使用以下命令将本地计算机的公钥复制到远程计算机的~/.ssh/authorized_keys
文件中:
ssh-copy-id user@remote_host
其中,user
是远程计算机上的用户名,remote_host
是远程计算机的地址。在执行此命令时,系统会提示输入远程计算机的密码。
测试SSH连接: 使用以下命令测试本地计算机与远程计算机之间的SSH连接:
ssh user@remote_host
如果一切正常,你将无需输入密码即可登录到远程计算机。
管理密钥:
创建新的密钥对:使用ssh-keygen
命令创建新的密钥对,如上所述。
删除密钥对:使用rm
命令删除密钥对文件,例如:rm ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
。
备份密钥对:将密钥对文件复制到安全的位置,例如外部硬盘或云存储服务。
权限管理:确保.ssh
目录和authorized_keys
文件的权限设置正确。通常,建议将.ssh
目录的权限设置为700,将authorized_keys
文件的权限设置为600。可以使用以下命令进行设置:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
通过以上步骤,你可以在Linux系统中有效地管理SSH密钥以实现互信。