SSH远程访问需五步:一、启用sshd服务并设开机自启;二、防火墙放行22端口(UFW/firewalld);三、用ssh username@ip连接,支持密码或密钥认证;四、配置密钥免密登录;五、可改非标端口增强安全。
如果您需要从本地计算机访问远程Linux服务器,则通常通过SSH协议建立安全连接。以下是使用SSH工具进行远程登录和基础配置的步骤:
SSH服务(sshd)必须在目标服务器上运行,才能接受远程连接请求。若服务未启动或被禁用,客户端将无法建立连接。
1、登录到远程服务器控制台(如通过VPS管理后台或物理终端)。
2、执行命令 systemctl status sshd 检查服务状态。
3、若显示 inactive 或 failed,执行 systemctl start sshd 启动服务。
4、执行 systemctl enable sshd 设置开机自启。
Linux服务器的防火墙可能拦截22端口(默认SSH端口),导致连接超时或被拒绝。
1、执行 sudo ufw status verbose 查看UFW防火墙状态(Ubuntu/Debian系)。
2、若状态为 active 且未列出22端口,执行 sudo ufw allow 22 开放端口。
3、对于firewalld(CentOS/RHEL/Fedora),执行 sudo firewall-cmd --list-ports 查看开放端口。
4、若22端口未出现,执行 sudo firewall-cmd --permanent --add-port=22/tcp 并随后运行 sudo firewall-cmd --reload。
Linux系统自带OpenSSH客户端,无需额外安装即可发起远程登录请求,支持密码与密钥两种认证方式。
1、打开本地终端,输入命令 ssh username@server_ip_address,例如 ssh admin@192.168.1.100。
2、首次连接时会提示确认服务器指纹,输入 yes 并按回车。
3、根据提示输入用户密码;若配置了密钥认证且私钥位于默认路径(~/.ssh/id_rsa),则自动完成认证。
4、成功登录后,终端将显示远程服务器的shell提示符。
使用公私钥对替代密码可提升安全性并避免重复输入,适用于频繁连接场景。
1、在本地机器执行 ssh-keygen -t rsa -b 4096 生成密钥对,默认保存于 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。
2、执行 ssh-copy-id username@server_ip_address 将公钥自动复制到远程服务器的 ~/.ssh/authorized_keys 文件中。
3、若 ssh-copy-id 不可用,可手动执行 cat ~/.ssh/id_rsa.pub | ssh username@server_ip_address "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"。
4、修改远程服务器的SSH配置文件 /etc/ssh/sshd_config,确保包含 PubkeyAuthentication yes 并重启服务:sudo systemctl restart sshd。
将SSH服务监听端口从22更改为非标准端口,可减少自动化扫描攻击命中率。
1、编辑SSH服务配置文件:sudo nano /etc/ssh/sshd_config。
2、找到 #Port 22 行,取消注释并修改为所需端口号,例如 Port 2222。
3、保存退出后,执行 sudo systemctl re 
4、连接时需显式指定端口:ssh -p 2222 username@server_ip_address。