linux连接另一个机器怎么弄
linux连接另一个机器怎么弄详细介绍
在 Linux 系统中连接另一台机器最常用的方式是通过 SSH(安全外壳协议),以下是详细操作指南:
一、基础连接(密码认证)
- 确认目标机器已开启 SSH 服务
- 检查服务状态:
systemctl status sshd(Linux 服务器默认开启,树莓派等需手动启用) - 安装 SSH 服务(若未安装):
Debian/Ubuntu 系:sudo apt install openssh-server
CentOS/RHEL 系:sudo dnf install openssh-server
- 检查服务状态:
- 使用 SSH 命令连接
bash用户名@目标IP或域名ubuntu@192.168.1.100
- 首次连接会提示确认指纹,输入
yes - 输入目标机器的用户密码即可登录
- 首次连接会提示确认指纹,输入
- 指定端口(若端口非默认 22)
bashusername@192.168.1.100
二、密钥认证(免密码登录,推荐)
- 生成密钥对(本地机器执行)
bashssh-keygen rsa- 公钥路径:
~/.ssh/id_rsa.pub - 私钥路径:
~/.ssh/id_rsa(需严格保护)
- 公钥路径:
- 上传公钥到目标机器
bashssh-copy-id username@目标IP~/.ssh/id_rsa.pub username@目标IP
- 测试免密登录
bashusername@目标IP
三、常见问题解决
- 连接被拒绝(Connection refused)
- 检查目标机器 SSH 服务是否运行:
sudo systemctl start sshd - 防火墙放行 22 端口:
sudo ufw allow 22(Ubuntu)或sudo firewall-cmd --add-port=22/tcp --permanent(CentOS)
- 检查目标机器 SSH 服务是否运行:
- 权限问题
- 确保
~/.ssh/authorized_keys权限正确:chmod 600 ~/.ssh/authorized_keys
- 确保
- 超时或无法解析主机
- 检查 IP / 域名是否正确,本地网络是否连通(用
ping 目标IP测试)
- 检查 IP / 域名是否正确,本地网络是否连通(用
四、进阶技巧
- 端口转发(本地访问目标机器服务)bash
:localhost:80 username@目标IP - 图形界面连接(需 X11 转发)bash
username@目标IP - 配置别名(简化命令)
编辑~/.ssh/config:confHost myserver # 自定义别名HostName 192.168.1.100
User ubuntu
Port 2222
连接时只需:
ssh myserver
总结
- 新手推荐先通过密码认证熟悉流程,再配置密钥认证提升安全性
- 企业环境中建议禁用密码登录,仅使用密钥 + 证书或 SSH 代理(
ssh-agent) - 远程传输文件可配合
scp(简单文件)或sftp(交互式)命令
如果需要更具体的场景(如跳板机跳转、Docker 容器连接等),可以随时补充说明~