您当前的位置:首页 > 操作系统

Ubuntu系统开启SSH服务实现远程登录操作

SSH为SecureShell的缩写,由IETF的网络小组(NetworkWorkingGroup)所制定;SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

SSH为SecureShell的缩写,由IETF的网络小组(NetworkWorkingGroup)所制定;SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

SSH的服务的安装是其中必不可少的一步。SSH方便一个开发人员登录服务器,方便代码的共享、管理、编写、编译、运行等工作,SSH是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全,利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、DigitalUNIX、Irix,以及其他平台,都可运行SSH。

SSH

SSH概述

SSH分为两部分:客户端(openssh-client)部分和服务端(openssh-server)部分。

服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。

客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序,更多SSH客户端管理工具,请查看《管理Linux系统SSH客户端软件工具》。

如果你只是想登陆管理其他设备服务器的SSH只需要安装客户端(openssh-client)部分(ubuntu有默认安装,如果没有可以执行:sudo apt-get install openssh-client -y命令进行安装),如果需要其他设备服务器远程登录管理您当前的Ubuntu服务器,则需要本机安装SSH服务端(openssh-server)部分。

查看是否安装SSH服务端

执行dpkg -l | grep ssh命令,查看当前Ubuntu系统,是否安装了ssh-server服务。常规Ubuntu系统默认是只安装了ssh-client服务。

ubuntu@ubuntu:~$ dpkg -l | grep ssh
ii  libssh-4:amd64                             0.9.3-2ubuntu2.2                    amd64        tiny C SSH library (OpenSSL flavor)
ii  openssh-client                             1:8.2p1-4ubuntu0.5                  amd64        secure shell (SSH) client, for secure access to remote machines
ubuntu@ubuntu:~$ 

如下图:

Ubuntu查看Linux-SSH状态

安装ssh-server服务

执行命令:sudo apt-get install openssh-server -y,安装ssh-server服务

ubuntu@ubuntu:~$ sudo apt-get install openssh-server -y

如下图:

Ubuntu安装SSH服务端服务

确认SSH服务端安装成功

再次执行dpkg -l | grep ssh命令,查看安装的服务,确认SSH服务端是否安装成功:

ubuntu@ubuntu:~$ dpkg -l | grep ssh
ii  libssh-4:amd64                             0.9.3-2ubuntu2.2                    amd64        tiny C SSH library (OpenSSL flavor)
ii  openssh-client                             1:8.2p1-4ubuntu0.5                  amd64        secure shell (SSH) client, for secure access to remote machines
ii  openssh-server                             1:8.2p1-4ubuntu0.5                  amd64        secure shell (SSH) server, for secure access from remote machines
ii  openssh-sftp-server                        1:8.2p1-4ubuntu0.5                  amd64        secure shell (SSH) sftp server module, for SFTP access from remote machines
ii  ssh-import-id                              5.10-0ubuntu1                       all          securely retrieve an SSH public key and install it locally
ubuntu@ubuntu:~$ 

如下图:

Ubuntu查看Linux-SSH状态-2

出现openssh-server即表示安装成功。

然后输入ps -e | grep ssh命令,检测确认ssh-server是否启动

ubuntu@ubuntu:~$ ps -e | grep ssh
   1668 ?        00:00:00 ssh-agent
   4247 ?        00:00:00 sshd
ubuntu@ubuntu:~$ 

如果看到sshd那说明ssh-server已经启动了。

如果没有则可以执行systemctl start sshd命令进行启动

SSH配置相关

ssh-server配置文件位于/etc/ssh/sshd_config在这里可以定义SSH的服务端口,SSH服务默认端口为22,为了安全,你可以自己定义成其他端口号,例如:2022或其他端口号(范围:1~65535,避免与其他端口冲突)。

也可以直接通过通过修改/etc/ssh/sshd_config配置文件,去除 #PermitRootLogin prohibit-password段前#注释,并将参数PermitRootLogin prohibit-password更改为PermitRootLogin yes,即可实现使用root用户远程登陆管理,具体方法清查:《Linux 系统设置允许root用户远程SSH登陆方法》。

修改完相关配置文件后,执行systemctl restart sshd命令,重启 SSH 服务后,即可生效。

登陆 SSH(Linux)

ssh username@192.168.1.130

其中username192.168.1.130设备上的用户名,需要输入密码。断开连接,输入exit命令后回车执行。

SSH 常用命令

#首先安装 SSH 服务
yun install openssh-server -y #centos
sudo apt-get install openssh-server -y #Debian、Ubuntu

systemctl start sshd #启动 SSH 服务
/etc/init.d/ssh start #启动 SSH 服务

systemctl restart sshd #重启 sshd 服务
sudo /etc/init.d/ssh restart  #重启 sshd 服务

systemctl stop sshd #停止 sshd 服务
systemctl status sshd #查看 sshd 服务状态

systemctl reload sshd #重新加载 sshd 服务的配置文件
update-rc.d ssh enable #配置 sshd 服务开机自动启动

systemctl enable sshd #sshd 服务开机启动
systemctl disable sshd #sshd 服务禁止开机启动

netstat -antp | grep sshd #查看 SSH 服务端口
systemctl mask sshd #锁定 sshd 服务
systemctl unmask sshd #解锁 sshd 服务

另外,如果安装了ssh服务,Windows、Mac相关系统下可以使用SSH工具或者PuTTY登录管理这台Ubuntu,更多SSH客户端管理工具,请查看《管理Linux系统SSH客户端软件工具》。

所以可以使用公共密钥的登陆方式来提高速度和安全性。

参考资料

  • https://blog.csdn.net/jackghq/article/details/54974141
  • https://blog.csdn.net/qq_45164331/article/details/122533327
  • https://www.jb51.net/article/194050.htm
  • https://blog.csdn.net/qq_33468857/article/details/120129
错误报告

📑 文章目录