常用登录Linux系统的方法以及操作指南
目录
- 1 摘要
- 2 使用Windows原生工具登录(Win+R运行)
- 2.1 通过CMD/PowerShell SSH登录
- 2.2 Telnet连接(不推荐,仅限内网)
- 3 使用专业SSH客户端软件
- 3.1 PuTTY
- 3.2 MobaXterm
- 4 图形化远程桌面连接
- 4.1 RDP连接(需Linux安装xrdp)
- 4.2 VNC Viewer连接
- 5 文件传输工具
- 5.1 WinSCP(图形化SFTP)
- 6 开发工具集成连接
- 6.1 S Code远程开发
- 7 特殊场景解决方案
- 7.1 跳板机连接
- 7.2 代理环境连接
- 8 常用命令以及示例
- 8.1 常用命令
- 8.2完整示例操作流程
- 9 总结
1 摘要
Linux在车载控制器的普及是汽车电子架构向集中化、智能化演进的必然选择,其技术自由度、生态成熟度与行业需求高度契合,未来随着舱驾一体(如高通SA8295单芯片跑Linux+Android)的发展,渗透率将进一步上升。因此,具备一定的Linux基础是很有必要的。
2 使用Windows原生工具登录(Win+R运行)
2.1 通过CMD/PowerShell SSH登录
操作步骤:
- 按
Win+R
输入cmd
或powershell
回车 - 输入SSH连接命令:
ssh username@linux_ip
- 登录示例:
C:\>ssh admin@192.168.1.100 admin@192.168.1.100's password: [输入密码] [admin@linux-server ~]$ //执行相关命令行
- 注意事项:
- 确保车载Linux系统已启用SSH服务
- 可能需要先配置网络使控制器与本地PC在同一网络
- 某些车载系统可能使用自定义端口或特殊认证方式
- 操作时注意不要影响车辆的正常运行
- 抓包可能会影响系统性能,不宜长时间运行
高级用法:
:: 指定端口连接
ssh -p 2222 user@192.168.1.100:: 使用密钥登录
ssh -i C:\Users\YourName\.ssh\id_rsa user@192.168.1.100:: 执行远程命令
ssh user@192.168.1.100 "ls -l /var/log"
2.2 Telnet连接(不推荐,仅限内网)
启用Telnet客户端:
Win+R
输入optionalfeatures
回车- 勾选"Telnet客户端"
连接命令:
telnet 192.168.1.100 23
3 使用专业SSH客户端软件
3.1 PuTTY
PuTTY是一个免费的SSH和Telnet客户端,广泛用于Windows系统远程登录Linux服务器。以下是详细的操作步骤和示例:
准备工作:
- 确保Linux服务器已开启SSH服务(默认端口22)
- 获取服务器的IP地址或域名
- 拥有有效的用户名和密码(或SSH密钥)
- 确保本地计算机与目标Linux系统网络连通
安装PuTTY:
- 从官网下载:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- 运行安装程序,按向导完成安装
登录Linux系统的步骤:
使用密码登录:
-
打开PuTTY
-
在"Session"配置界面输入:
- Host Name (or IP address): 服务器IP或域名(如192.168.1.100或example.com)
- Port: 22(默认SSH端口)
- Connection type: SSH
- 可选:在"Saved Sessions"输入名称并点击"Save"保存配置
-
点击"Open"按钮
-
首次连接时会显示安全警告(服务器指纹),点击"Accept"继续
-
在终端窗口输入用户名,按回车
-
输入密码(输入时不会显示字符),按回车
常用功能:
-
检查以太网端口通信情况
- 使用ifconfig或ip命令检查网络接口状态
- 使用ping命令测试网络连通性
- 使用netstat或ss命令检查端口监听情况
- 使用tcpdump或ethtool进行更深入的网络分析
-
查看报文日志
- 检查系统日志(/var/log/messages或journalctl)
- 查看特定应用程序的日志文件
- 使用dmesg查看内核日志
-
注意事项:
- 执行某些命令(如tcpdump)可能需要root权限,使用sudo或切换到root用户
- 车载系统可能有特定的日志位置,可查阅设备文档确认
- 长时间捕获报文会生成大文件,注意存储空间
- 生产环境中操作前建议备份重要数据
- 某些车载Linux系统可能使用定制的命令或日志格式
-
SSH介绍
SSH(Secure Shell)是Linux系统中至关重要的网络服务,用于安全远程访问和管理系统。以下是关于SSH的详细说明:
1. 核心功能- 加密的远程登录:通过命令行安全访问其他Linux服务器(替代不安全的Telnet)。
- 文件传输:支持
scp
和sftp
命令加密传输文件。 - 端口转发:加密其他不安全的网络流量(如转发数据库端口)。
- 执行远程命令:可直接在远程机器上运行命令(例如
ssh user@host "ls /tmp"
)。
2. 关键特性
- 加密技术:使用AES等算法加密通信,防止窃听。
- 认证方式:
- 密码认证(直接输入密码)。
- 公钥认证(更安全,免密码登录,依赖
~/.ssh/authorized_keys
文件)。 - 默认端口:22(可修改为其他端口增强安全性)。
SSH是Linux管理员和开发者的必备工具,其安全性、灵活性使其成为远程管理的黄金标准。
3.2 MobaXterm
操作步骤:
- 安装后
Win+R
输入mobaxterm
回车 - 点击Session → SSH
- 填写:
- Remote host: linux_ip
- Specify username: your_username
- 登录后可:
- 使用内置SFTP文件传输
- 多标签管理多个会话
- 记录所有操作日志
4 图形化远程桌面连接
4.1 RDP连接(需Linux安装xrdp)
Linux端准备:
sudo apt install xrdp
sudo systemctl enable xrdp
sudo ufw allow 3389
Windows端操作:
Win+R
输入mstsc
回车- 输入Linux IP地址
- 选择"Xorg"会话
- 示例登录界面:
xrdp login: your_username Password:
4.2 VNC Viewer连接
Linux端配置:
sudo apt install tightvncserver
vncserver :1 -geometry 1920x1080
Windows端连接:
- 安装VNC Viewer
Win+R
输入vncviewer
回车- 输入
linux_ip:1
- 输入设置的VNC密码
5 文件传输工具
5.1 WinSCP(图形化SFTP)
- 准备工作
- 确保目标Linux系统已开启SSH服务
- 获取Linux系统的IP地址、用户名和密码
- 确保本地Windows电脑与Linux系统网络连通
- 登录步骤
-
启动WinSCP
- 双击桌面WinSCP图标或从开始菜单启动
-
新建会话
- 点击"新建会话"按钮
- 选择文件协议为"SCP"或"SFTP"(推荐)
-
填写连接信息
- 主机名: 输入Linux系统的IP地址(如192.168.1.100)
- 端口号: 默认22(如修改过SSH端口则填写实际端口)
- 用户名: 您的Linux用户名(如root或普通用户)
- 密码: 相应用户的密码
-
保存会话(可选)
- 点击"保存"按钮可保存会话信息方便下次使用
-
登录
- 点击"登录"按钮
- 首次连接会提示主机密钥验证,点击"是"继续
- 示例: 查看网络报文日志
常见日志位置:/var/log/messages
/var/log/syslog
/var/log/networking/
/var/log/dmesg
使用grep过滤网络相关日志:
grep -i "eth0" /var/log/messages
grep -i "packet" /var/log/syslog
(1)使用tcpdump抓包
tcpdump -i eth0 -w /tmp/network.pcap
# 按Ctrl+C停止抓包
(2)查看系统日志中的网络相关条目
dmesg | grep eth0
# 或
journalctl -u NetworkManager
(3)查看特定服务的日志
journalctl -u 服务名
将日志文件下载到本地分析:
在WinSCP界面:
- 导航到日志文件所在目录(如/var/log)
- 右键点击日志文件
- 选择"下载"
- 选择本地保存位置
- 注意事项:
- 操作需要相应权限,可能需要root账户
- 某些日志文件可能需要sudo或root权限才能查看
- 大日志文件建议先grep过滤再下载
- 生产环境谨慎使用tcpdump,可能影响性能
- 操作完成后及时退出会话
- 高级技巧:
- 在WinSCP中可以直接编辑远程文件(双击打开)
- 可以设置WinSCP与PuTTY集成,方便快速打开SSH终端
- 使用WinSCP的同步功能可以方便地同步本地和远程文件
- 对于大文件传输,可以设置传输模式为二进制
6 开发工具集成连接
6.1 S Code远程开发
操作流程:
- 安装Remote-SSH扩展
Win+R
输入code
回车- 按F1 → 输入"Remote-SSH: Connect to Host"
- 输入
ssh user@linux_ip
- 连接后可:
- 编辑远程文件
- 使用集成终端
- 调试远程应用
示例场景:
[在VS Code终端]
$ tail -f /var/log/syslog
$ python3 app.py
7 特殊场景解决方案
7.1 跳板机连接
:: 通过跳板机连接
ssh -J jump_user@jump_ip target_user@target_ip:: 示例
ssh -J admin@10.0.0.1 dev@192.168.1.100
7.2 代理环境连接
set HTTPS_PROXY=http://proxy.company.com:8080
ssh -o "ProxyCommand=connect -H proxy.company.com:8080 %h %p" user@linux_ip
通过以上方法,您可以根据不同需求选择最适合的Linux连接方式。建议:
- 日常管理使用SSH+WinSCP组合
- 开发环境使用VS Code远程开发
- 图形界面需求使用xrdp/VNC
- 生产环境务必启用密钥认证和防火墙
8 常用命令以及示例
8.1 常用命令
- 检查网络接口状态
ifconfig -a
# 或
ip addr show
- 检查特定网卡状态(如eth0)
ethtool eth0
- 检查网络连接状态
netstat -tuln
# 或
ss -tuln
- 实时监控网络流量
iftop -i eth0
# 或
nload eth0
- 测试网络连通性
ping 目标IP地址
- 检查路由表
route -n
# 或
ip route
- 查看系统日志中的网络相关信息
dmesg | grep eth0
journalctl -u NetworkManager
- 查看网络报文日志
常见日志位置:
/var/log/messages
/var/log/syslog
/var/log/networking/
/var/log/dmesg
使用grep过滤网络相关日志:
grep -i "eth0" /var/log/messages
grep -i "packet" /var/log/syslog
(1)使用tcpdump抓包
tcpdump -i eth0 -w /tmp/network.pcap
# 按Ctrl+C停止抓包
(2)查看系统日志中的网络相关条目
dmesg | grep eth0
# 或
journalctl -u NetworkManager
(3)查看特定服务的日志
journalctl -u 服务名
8.2完整示例操作流程
假设车载Linux控制器的IP为192.168.1.100,用户名为root:
# 1. 登录系统(在Putty中执行)
$ ssh root@192.168.1.100
password: ********# 2. 检查网络接口状态
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0a:35:00:1e:01 brd ff:ff:ff:ff:ff:ffinet 192.168.1.100/24 brd 192.168.1.255 scope global eth0valid_lft forever preferred_lft forever# 3. 测试网络连通性
$ ping 192.168.1.1 -c 4
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.342 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.296 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.301 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.310 ms# 4. 检查端口监听情况
$ netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp6 0 0 :::22 :::* LISTEN 1234/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 5678/dhclient # 5. 使用tcpdump捕获以太网报文(需要root权限)
$ tcpdump -i eth0 -w /tmp/network.pcap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C
10 packets captured
10 packets received by filter
0 packets dropped by kernel# 6. 查看系统日志中的网络相关条目
$ grep eth0 /var/log/syslog
May 10 14:30:01 vehicle-controller kernel: [12345.678901] eth0: link up, 100Mbps, full-duplex
May 10 14:35:22 vehicle-controller NetworkManager[789]: <info> [1620657322.1234] device (eth0): state change: ip-config -> ip-check (reason 'none')
9 总结
以上介绍了登录Linux系统的常用方法和工具,并且对常用Linux命令以及相关示例进行了介绍,希望能对大家学习Linux系统有一定帮助!