什么是 SSH
ssh 全称是 Secure Shell
, 有时候也被叫做 Secure Socket Shell
, 这个协议使你能通过命令行的方式安全的连接到远端计算机。当连接建立就会启动一个 shell 会话,这时你就能在你的本地计算机(客户端)通过命令的方式操作远端计算机(服务端)
背景
想把老电脑作为服务器使用,同时也为后面直接在新电脑中支持 vscode 访问编辑代码,所以需要配置 ssh 服务支持
环境配置
前置准备
- 远端计算机必须处于可访问的网络中并且已经开机
- 你需要知道远端计算机的 IP 地址或者域名,如果该 IP 地址是在另一个局域网内,那你得想办法让这个 IP 可以被外部访问
- 你拥有访问远端计算机的权限
- 远端计算机的防火墙设置应该允许 ssh 连接
我这边是在 fedora 系统中操作,所以软件包管理命令用的是 dnf
,若你是在 ubuntu 则替换成 apt
;centOs 则替换成 yum
命令环境
- 客户端设备: windows 下的 ubuntu 系统
- 服务端设备: fedora 系统
在 linux 系统中安装 ssh 组件
由于 windows 系统支持 linux 子系统,这里就不提 windows 命令行怎么支持 ssh,而是以 linux 环境为使用前提。
服务器端命令
服务端,即被远端设备远程操作访问的机器
sudo dnf install openssh-server
安装完该组件后,ssh 服务会自动启动,可以通过命令查看服务状态
systemctl status sshd
如果服务没有启动,那么可以用下面的命令启动
sudo systemctl start sshd
为了让服务能够在电脑启动时启动,可以使用下面的命令
sudo systemctl enable sshd
客户端命令
- 访问远端机器
ssh [username]@[host_ip_address]
由于我是两台机器在同一个局域网中,服务端设备的用户名为 jack
, 所以命令是
ssh jack@192.168.3.60
若上面的命令提示命令不存在,那么需要安装下 ssh 客户端组件
sudo dnf install openssh-clients
- 当第一次连接到该服务时,会出现一条询问是否确认连接的信息,输入
yes
并按 Enter - 输入密码