在CentOS系统上从零开始配置SSH访问,可以按照以下步骤进行:
首先,确保你的CentOS系统已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:
sudo yum install openssh-server
安装完成后,启动SSH服务并设置为开机自启:
sudo systemctl start sshd
sudo systemctl enable sshd
确保防火墙允许SSH连接。CentOS 7及以上版本使用firewalld,可以使用以下命令开放SSH端口(默认端口22):
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
如果你使用的是CentOS 6或其他不支持firewalld的系统,可以使用iptables:
sudo iptables -I INPUT -p tcp --dport 22 -j ACCEPT
sudo service iptables save
编辑SSH配置文件/etc/ssh/sshd_config,可以根据需要进行一些自定义配置。例如,你可以更改默认的SSH端口、禁用root登录等。
sudo vi /etc/ssh/sshd_config
一些常用的配置选项包括:
Port 22:更改SSH端口。PermitRootLogin no:禁用root登录。PasswordAuthentication yes:允许密码认证(也可以使用密钥认证)。修改完成后,保存并退出编辑器。
应用配置更改后,重启SSH服务:
sudo systemctl restart sshd
现在,你可以从另一台机器上测试SSH连接。使用以下命令连接到你的CentOS服务器:
ssh username@your_server_ip
其中,username是你在CentOS服务器上的用户名,your_server_ip是服务器的IP地址。
为了提高安全性,建议使用SSH密钥认证而不是密码认证。以下是配置密钥认证的步骤:
在本地机器上生成SSH密钥对:
ssh-keygen -t rsa -b 4096
按照提示操作,通常会生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。
将生成的公钥复制到CentOS服务器的~/.ssh/authorized_keys文件中:
ssh-copy-id username@your_server_ip
输入服务器用户的密码,公钥将被添加到服务器的授权密钥列表中。
现在,你可以尝试使用密钥认证连接到服务器:
ssh -i /path/to/private_key username@your_server_ip
其中,/path/to/private_key是你的私钥文件路径。
通过以上步骤,你应该能够在CentOS系统上成功配置SSH访问。