Ubuntu-SSH安装

💡大家好,我是可夫小子,《小白玩转ChatGPT》专栏作者,关注AIGC、互联网和自媒体。

在前面的文章中,我们已经把服务器配置好,系统ubunutu22.04安装完,那么第一件事就得把SSH配置好。因为服务器并非每天在桌面使用,经常是远程登陆。

ssh是一种通信协议,分为客户端的ssh和服务端的sshd,我们Ubuntu作为服务器,供外部终端电脑的ssh连接。ubuntu22.04默认不有sshd,我们先要把sshd安装配置好。

安装

通过如下命令安装

sudo apt install openssh-server

配置

配置文件位于/etc/ssh/sshd_config ,我们可以来看下常用的几个选项

复制代码

#Port 22 //默认监听的端口是22,可以改成自定义 TCPKeepAlive yes ClientAliveInterval 300 ClientAliveCountMax 3 //打开以上3个选项为了与客户端保持连接

服务的启动、停止与重启,以及查看状态。一般来说控制服务的状态的3种方式1,我一般使用service命令

复制代码

koffu@koffu-desktop:~$ sudo service ssh restart

koffu@koffu-desktop:~$ sudo service ssh status

* ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2024-07-31 12:10:11 CST; 4s ago Docs: man:sshd(8) man:sshd_config(5) Process: 5846 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS) Main PID: 5848 (sshd) Tasks: 1 (limit: 77047) Memory: 1.8M CPU: 31ms CGroup: /system.slice/ssh.service `-5848 "sshd: /usr/sbin/sshd -D listener 0 of 10-100 startups"

连接

ssh server安装运行起来之后,就可以通过外部的终端连接上来,使用ssh命令

把本机的公钥上传到服务器

如上,虽然能够正常连接上服务器,但每次都要输出用户名和密码,我可以设置ssh,使每次登陆不需要密码。

  • 在本机生成ssh密钥对: ssh-keygen -t rsa -C "youremail@example.com"

  • 就在本机的~/.ssh目录下就能看到一个id_rsa和id_rsa.pub

  • 把本机的公钥放到远程服务器上的ssh的授权列表,这样每次都不用输入密码:
复制代码

ssh-copy-id -i .ssh/id_rsa.pub username@192.168.2.70

  • 在远程服务器上就能看到authrith文件
  • 下次直接登陆即可

SSH断开错误: client_loop: send disconnect: Broken pipe

修改如下:

复制代码

sudo vim /etc/ssh/sshd_config ClientAliveInterval 60 ClientAliveCountMax 3 TCPKeepAlive yes

重启服务的三种方式:init.d、service、与systemctl

复制代码

sudo /etc/init.d/ssh restart sudo service ssh restart sudo systemctl restart ssh

sudo /etc/init.d/ssh restart与sudo service ssh restart是等价的。

systemctl是来源于systemd,systemd是一个服务的守护进程,是一组命令,除了systemctl,还有其他控制指令

复制代码

// 显示当前主机信息 hostnamectl // 设置主机名 sudo hostnamectl set-hostname BoodeUbuntu // 查看本地化设置 localectl // 查看当前时区设置 timedatectl // 重启系统 sudo systemctl reboot // 启动进入救援状态(单用户状态) sudo systemctl rescue // 管理服务 $ sudo systemctl start nginx

后记

拉下来我将分一系列文章,介绍ubuntu系统上进行Android开发,以及大语言模型LLM、AI作画等模型的部署。

参考资料

1

服务的状态的3种方式: https://segmentfault.com/a/1190000038458363

相关推荐
奔跑的大白啊1 天前
多容器共享目录权限踩坑记
linux·ubuntu·共享目录·linux权限·docker 容器化部署
缘友一世2 天前
银河护卫队在steam(linux Proton GE-Proton10-34)上启动无窗口问题修复
linux·ubuntu·steam·proton
刘胡子大叔2 天前
repo 与 index:站点目录该怎么切
ubuntu·php
zhangrelay2 天前
用ROS2Lyrical实验报告册思路重做蓝桥云课ROS1实验并改进
linux·笔记·学习·ubuntu·机器人
小小龙学IT3 天前
ROS2 安装完全指南(Ubuntu 版):从零开始到跑通第一个节点本文
linux·运维·ubuntu
MicrosoftCloud3 天前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers
水饺编程4 天前
第1章:下载 Linux 0.12 内核
linux·c语言·汇编·ubuntu
水饺编程4 天前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
сокол4 天前
【Python-基础-环境搭建】Ubuntu Python 开发环境搭建:编译、pipenv、pyenv、远程连接
开发语言·python·ubuntu
刘胡子大叔4 天前
1Panel 部署 ThinkPHP8 踩坑实录
linux·ubuntu