什么是SSH
SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录和其他安全网络服务。它为网络服务提供了一种安全传输环境,通过在网络中创建加密的数据通道,确保了数据传输的安全性。
简单来说SSH就是一种进行数据传输的网络协议,我们可以通过SSH传输文件等(比如在项目开发过程中我们在Windows和Linux中胡传文件等),同时我们也可以通过SSH远程登录服务器电脑,从而实现对远程服务器的控制。在Linux操作系统中,SSH更是一个非常常用的工具。通过SSH,我们可以远程管理服务器,通过使用SSH客户端我们可以在家中通过iPad或者各种个人电脑安全的登录到公司或学校的服务器,执行命令,上传和下载文件等。
SSH安装
打开终端,在终端输入以下命令安装openssh-server如下图所示:
sudo apt-get install openssh-server -y
安装好ssh之后,启动ssh服务,输入以下命令,在弹出的认证页面输入账户密码:
/etc/init.d/ssh start
输入以下命令查看下进程,检查下SSH是否开启成功:
ps -e | grep sshd
默认配置下,SSH是禁止root用户登录的,作为嵌入式开发人员,我们需要解除限制,在终端下输入以下命令打开ssh的配置文件,并找PermitRootLogin prohibit-password修改成PermitRootLogin yes,如下图所示:
sudo vi /etc/ssh/sshd_config
PermitRootLogin
有几个可能的值:
yes
:允许 root 用户通过 SSH 登录。without-password
:允许无密码的 root 登录,比如通过密钥认证。forced-commands-only
:仅允许 root 用户执行 SSH 命令,通常与ssh
的ForceCommand
选项配合使用。no
:完全禁止 root 用户通过 SSH 登录。出于安全考虑,许多系统管理员会将
PermitRootLogin
设置为no
,以防止针对 root 用户的暴力破解攻击。他们通常创建一个普通用户账户,然后使用su
或sudo
命令来执行需要 root 权限的操作。
修改完权限之后输入以下命令重启一下ssh服务 :
/etc/init.d/ssh restart