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 操作系统的文本终端,可以使用:
logoutexit- 组合
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恢复上次撤销的操作



