Linux 操作系统:ssh 远程连接服务器和基本指令
Linux 操作系统概述
本文介绍了使用 ssh 进行 Linux 系统服务区的远程访问与一些简单的命令。服务器可以去往各大服务器商购买,或者在本地安装虚拟机,针对 mac 用户 Linux 操作系统的指令大多可以直接使用,windows 系统的 wsl 或 powershell 也满足 Linux 的习惯。
1 Linux 的远程访问 ssh
1.1 本地生成 ssh 密钥
在本地用户目录 ~
下终端输入
1 | ssh-keygen |
会要求设置密码,可以设置也可以不设置,这个密码只是未来使用 ssh 连接时需要输入的。
便会在用户目录下生成文件夹和文件
1 | .ssh |
其中 id_rsa
为私钥,不可泄漏;id_rsa.pub
为公钥,未来将放置在其他主机上的。
1.2 服务器存储公钥
在需要登陆的服务器用户目录下创建文件夹和文件
1 | .ssh |
将本地主机的公钥 id_rsa.pub
内容复制到远程服务器 .ssh/authorized_keys
文件中。
1.3 登陆远程服务器
此时就可以通过 ssh 建立安全的访问。
- 方式一:直接输入远程的 ip 地址
在本地主机终端输入
1 | ssh@<ip地址> |
之后即可通过 ssh 登陆。但相对复杂,推荐使用本地配置登陆。
- 方式二:自定义配置文件
config
在本地主机的 ~/.ssh/
目录下创建配置文件 config
,.ssh/
目录结构:
1 | .ssh |
在 config
文件中写入配置
1 | # config 文件,以阿里云服务器为例 |
#
表示注释,Host
后的可以自定义别名,Hostname
后填入服务器的 ip 地址,User
表示想要登陆的远程服务器用户,例如root
表示直接登陆到管理员用户,Port 22
表示通过端口 22 连接。
以上配置完成后,直接在终端输入
1 | ssh <别名> |
即可登陆。
1.4 known_hosts 文件
有时,当远端服务器也使用了 ssh-keygen
产生密钥时,本地 .ssh/
目录下会有 known_hosts
文件,其保存了远方 ssh 服务器的公钥,确认是否是之前连接的服务器。
1.5 文件传输 ssh + cat 或 scp
当按照上面配置完成了 ssh 和远程服务器别名后,可以进行快捷的文件传输。
- 对于小文件,可以直接使用
cat + ssh
的方式
1 | cat ~/a.txt | ssh <别名> 'cat > /root/file.txt' |
将本地 ~/a.txt
文件复制传输到远程服务器 <别名>
的 /root/file.txt
文件。
- 对于大文件,可以使用
scp
递归传输文件夹
1 | scp -r ~/localFile <别名>:/root |
将本地的 ~/localFile
文件夹传输到远程服务器 <别名>
的 /root
路径下。
2 Linux 的简单使用
2.1 登录后的信息
每次登陆 Linux 系统后,会显示 motd
(Message of the day) 以及上次登陆的时间和地点。

last
命令查看当前或指定用户以前的成功登录情况,来源于/var/log/wtmp
2.2 注销
退出 Linux 操作系统的文本终端,可以使用:
logout
exit
- 组合
Ctrl + D
退出,代表EOF (End Of File)
如果不希望按下组合键一次就退出,可以设置 IGNOREEOF
,以免误触
1 | echo IGNOREEOF=3 >> ~/.bashrc |
如此,就需要按压 3 次 Ctrl + D
才能退出。如果只按一次,则会出现以下情况:
1 | root@<name>:~# |
或者进入用户目录的
.bashrc
文件添加一行
1 | # 进入 .bashrc 文件,输入 I 进入编辑模式 |
1 | # .bashrc 文件,添加一行 |
键入 esc
退出编辑模式,输入 :wq
保存并退出。然后在终端输入以下指令以永久生效:
1 | source .bashrc |
2.3 关机和重启
在命令行可通过【不推荐】
poweroff
立刻关机并断电halt
立刻关机reboot
立刻重启
【推荐】使用 shutdown
命令指定时间进行关机。
1 | shutdown [OPTIONS...] [TIME] [WALL...] |
[TIME]
填入命令执行的时间:例如+m
或m
表示 m 分钟后执行;now
表示立马执行;不指定则默认 1 分钟后执行。或者采用hh:mm
表示在 hh 时 mm 分时刻执行。WALL...
要发送的消息,可不传递。[OPTIONS...]
可项的参数
1 | 1. 查看 shutdown 的帮助信息 |
例如:
1 | shutdown -r 10 # 十分钟后重启 |
2.4 查看系统信息
hostname
:查看主机的名字(主机名存储在文件/etc/hostname
中)
1 | root@<主机名>:~# hostname |
uname
:可以查看更多的系统信息
1 | -a : 显示所有信息 |
lsb_release
:查看 LSB (Linux Standard Base) 一些 Linux 版本信息
1 | -a : 查看所有信息 |
2.5 查看用户信息
whoami
:登录用户名id
:查看当前用户(也可查看其他用户)的用户和组信息who
:查看当前系统正在登录的用户信息uptime
:查看系统运行时间和负载等信息w
:uptime
和who
结合的功能,还可查看用户在做什么tty
:查看当前所连接的终端设备文件

2.6 阅读文本文件
cat
:阅读文本文件,不分页more
:阅读文本文件,分页less
:与more
相似,但功能更多
1 | less <file> |
2.7 文件编辑
例如:vim
或 nano
使用 nano
(Meta
键一般为 Alt
键)
Ctrl + O
保存Ctrl + X
退出,如有修改,会询问是否保存Ctrl + G
查看帮助Shift + <- or ->
使用 Shift 加键盘向左/右,可以选定一段文字Ctrl + K
剪切Ctrl + U
粘贴Ctrl + W
搜索文本Meta + 6
复制Meta + U
撤销上次操作Meta + E
恢复上次撤销的操作
