SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络上安全地进行远程登录和数据传输
- 安装OpenSSH服务器:
在大多数Linux发行版中,OpenSSH服务器已经预装。如果没有,请使用以下命令安装:
-
对于Debian/Ubuntu系统:
sudo apt-get update sudo apt-get install openssh-server
-
对于CentOS/RHEL系统:
sudo yum install openssh-server
- 创建SSH密钥对:
在本地计算机上创建一个SSH密钥对(如果还没有的话):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,你可以选择使用默认的文件路径或者自定义文件路径来保存密钥对。
- 将公钥复制到服务器:
将本地计算机的公钥(默认为~/.ssh/id_rsa.pub
)复制到Linux服务器的~/.ssh/authorized_keys
文件中。你可以使用以下命令实现:
ssh-copy-id user@server_ip
其中,user
是你的服务器用户名,server_ip
是服务器的IP地址。输入密码后,公钥将被添加到服务器的authorized_keys
文件中。
- 配置SSH服务器:
编辑服务器上的SSH配置文件(通常位于/etc/ssh/sshd_config
),确保以下设置是正确的:
PubkeyAuthentication yes PasswordAuthentication no
这将允许使用SSH密钥对进行身份验证,而不允许使用密码进行身份验证。
- 重启SSH服务:
在更改了SSH配置文件后,需要重启SSH服务以使更改生效:
-
对于Debian/Ubuntu系统:
sudo systemctl restart ssh
-
对于CentOS/RHEL系统:
sudo systemctl restart sshd
现在,你应该可以使用SSH密钥对登录到Linux服务器,而无需输入密码。请确保在客户端和服务器上都正确配置了私钥和公钥。