Ubuntu系统默认已安装OpenSSH客户端(用于发起远程连接)。若未安装,可通过以下命令安装:
sudo apt update
sudo apt install openssh-client
远程服务器的IP地址(如192.168.1.100)或域名(如example.com)是连接的关键信息,需向服务器管理员或云服务提供商获取。
打开Ubuntu终端(快捷键:Ctrl + Alt + T),输入以下命令连接远程服务器:
ssh username@remote_host
username:远程服务器上的用户名(如ubuntu、root);remote_host:远程服务器的IP地址或域名(如192.168.1.100、example.com)。示例:连接IP为192.168.1.100、用户名为ubuntu的服务器:
ssh ubuntu@192.168.1.100
首次连接时,系统会提示“The authenticity of host 'xxx' can't be established”,输入yes确认并继续。随后会要求输入远程用户的密码(输入时不显示字符,输入完成后按Enter键)。
若远程SSH服务未使用默认端口(22),需通过-p参数指定端口:
ssh -p 2222 username@remote_host
2222:远程SSH服务的实际端口号(需替换为真实值)。密码认证存在被破解的风险,建议使用密钥对认证(私钥保存在本地,公钥上传至服务器),实现免密码登录。
在本地终端运行以下命令(推荐使用RSA算法,密钥长度4096位):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
~/.ssh/id_rsa,无需修改);生成后,~/.ssh/目录下会生成两个文件:
id_rsa:私钥(严格保密,勿泄露);id_rsa.pub:公钥(需上传至服务器)。使用ssh-copy-id命令自动将公钥复制到服务器的~/.ssh/authorized_keys文件中(需输入服务器密码):
ssh-copy-id username@remote_host
或手动复制(若ssh-copy-id不可用):
# 在本地终端执行(替换username和remote_host)
ssh username@remote_host "mkdir -p ~/.ssh && chmod 700 ~/.ssh"
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
ssh username@remote_host
若配置正确,无需输入密码即可直接登录。
编辑本地~/.ssh/config文件(若不存在则创建),添加常用服务器的配置信息,简化连接命令:
Host myserver # 自定义别名(如“myserver”)
HostName 192.168.1.100 # 服务器IP或域名
User ubuntu # 远程用户名
Port 22 # SSH端口(默认22可省略)
IdentityFile ~/.ssh/id_rsa # 私钥路径(密钥认证时需指定)
使用方法:配置完成后,直接输入ssh myserver即可连接,无需重复输入长命令。
~/.ssh目录权限需为700,~/.ssh/authorized_keys文件权限需为600(否则可能导致认证失败);22)的入站连接(如使用ufw,可运行sudo ufw allow 22);id_rsa)是登录的关键,切勿泄露给他人,建议备份至安全位置(如加密U盘)。