首页 > 其他分享 >远程服务与ssh

远程服务与ssh

时间:2023-12-10 15:33:09浏览次数:24  
标签:服务 主机 screen 会话 ssh root 远程

目录

远程管理与ssh

ssh原理

使用ssh时,主要分为下面几步

  • 用户使用ssh user@host命令对远程主机发起登陆请求;
  • 远程主机将自己的公钥返回给请求主机;
  • 请求主机使用公钥对用户输入的密码进行加密;
  • 请求主机将加密后的密码发送给远程主机;
  • 远程主机使用私钥对密码进行解密;
  • 最后,远程主机判断解密后的密码是否与用户密码一致,一致同意登陆,否则反之。

基本使用

常用指令

1.登录远程ssh主机

ssh root(用户名)@192.168.28.30
//需要指定端口可加上-p22(默认22为ssh端口号)

2.让远程主机执行指定指令

ssh -p22 [email protected] ls -ha /etc
//让远程主机显示etc目录中的所有内容(包括权限所属)

3.查看已连接的主机

cat .ssh/known_hosts

常用参数

-1	强制使用ssh协议版本1
-2	强制使用ssh协议版本2
-4	强制使用IPv4地址
-6	强制使用IPv6地址
-A	开启认证代理连接转发功能
-a	关闭认证代理连接转发功能
-b	使用本机指定的地址作为对位连接的源IP地址
-C	请求压缩所有数据
-F	指定ssh指令的配置文件,默认的配置文件为“/etc/ssh/ssh_config”
-f	后台执行ssh指令
-g	允许远程主机连接本机的转发端口
-i	指定身份文件(即私钥文件)
-l	指定连接远程服务器的登录用户名
-N	不执行远程指令
-o	指定配置选项
-p	指定远程服务器上的端口
-q	静默模式,所有的警告和诊断信息被禁止输出
-X	开启X11转发功能
-x	关闭X11转发功能
-y	开启信任X11转发功能

通过scp命令远程管理文件

scp命令用户不同主机之间的文件复制,SSH协议保证了复制的安全性

举例

1.将本地文件复制给远程主机

scp -p22 -r -p /root/file [email protected]:/tmp
//将远程客户端tmp目录中的内容下载到本机root目录下的file文件夹

2.将远程主机文件下载到本地

scp -p22 -r -p [email protected]:/root/file  /root
//将远程服务器root目录下file文件夹的内容下载到本机root目录

ssh自带的sftp功能

使用sftp在两台主机之前互相传递文件

使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高

使用方法

1.ssh连接远程主机
sftp -oPort=22 [用户名]@[远程主机ip]
//输入对应密码
//显示connected to [远程主机ip]
stfp>
2.基本命令
  • 往远程主机上传文件:用put
  • 从远程主机下载文件:用get
  • 退出:exit/[ctrl]+D
sftp> put /etc/hosts /tmp  //把本机/etc/host文件放到远程主机的/tmp目录
sftp> get /etc/hosts /root //从远程主机root目录取内容放到本机/etc/hosts中

sshd配置文件

sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。运维人员一般会把保存着最主要配置信息的文件称为主配置文件,而配置文件中有许多以井号开头的注释行,要想让这些配置参数生效,需要在修改参数后再去掉前面的井号

sshd服务配置文件中包含的参数以及作用

参数 作用
Port 22 默认的sshd服务端口
ListenAddress 0.0.0.0 设定sshd服务器监听的IP地址
Protocol 2 SSH协议的版本号
HostKey /etc/ssh/ssh_host_key SSH协议版本为1时,DES私钥存放的位置
HostKey /etc/ssh/ssh_host_rsa_key SSH协议版本为2时,RSA私钥存放的位置
HostKey /etc/ssh/ssh_host_dsa_key SSH协议版本为2时,DSA私钥存放的位置
PermitRootLogin yes 设定是否允许root管理员直接登录
StrictModes yes 当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6 最大密码尝试次数
MaxSessions 10 最大终端数
PasswordAuthentication yes 是否允许密码验证
PermitEmptyPasswords no 是否允许空密码登录(很不安全)

安全密钥验证

  1. 在客户端主机中生成“密钥对”

    [root@localhost ~]# ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Created directory '/root/.ssh'.
    //选择钥匙对存放的位置,不写则默认存放在/root/./ssh/id_rsa
    Enter passphrase (empty for no passphrase): 
    //此步相当于填写查看钥匙对所需要的另一个密码,不填写默认无
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:9+KE/GYBG6wjbCQ4o9j139nD9kkrL29bdAYd49kTvLo [email protected]
    The key's randomart image is:
    +---[RSA 2048]----+
    |              .+ |
    |              .o*|
    | .     .      .++|
    |+ . o   +      o.|
    |o+ = . .S+.   . +|
    |o . + +..o.. . o.|
    |   . . oo.o=. o .|
    |        .+=.BE.+ |
    |         oo. OB. |
    +----[SHA256]-----+
    
  2. 把客户端主机中生成的公钥文件传送至远程主机

    [root@localhost ~]# ssh-copy-id 192.168.28.30
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    [email protected]'s password:
    Number of key(s) added: 1
    Now try logging into the machine, with:   "ssh '192.168.28.30'"
    and check to make sure that only the key(s) you wanted were added.
    
  3. 对服务器进行设置,使其只允许密钥验证,拒绝传统的口令验证方式。记得在修改配置文件后保存并重启sshd服务程序

    [root@localhost ~]# vim /etc/ssh/sshd_config
    ..................
    65 PasswordAuthentication no
    //此处65指的是第65行
    ...................
    [root@localhost ~]#
    
  4. 在客户端尝试登录到服务器,此时无须输入密码也可成功登录

    [root@localhost ~]# ssh 192.168.28.30
    Last login: Fri Apr 19 17:12:37 2019 from 192.168.28.30
    

mobaxterm使用密钥登录

1.生成密钥

2.保存公钥私钥

3.上传公钥

4.测试无密码登录

注意保存公私钥时指定一个自己能找到的地方

第一步按下generate以后鼠标记得左右移动,不然没有进度

利用软件的上传功能将公钥上传到服务器相应文件夹中

在mobaxterm中开启服务器私钥使用并删除先前保存的密码

退出当前连接重新连接

success!!!

管理远程会话

1.screen基本命令

-S      创建会话窗口
-d      将指定会话进行离线处理
-x      一次性恢复所有的会话
-Is     显示当前已有的会话
-wipe   把目前无法使用的会话删除

2.命令使用方法

2.1 创建screen会话
screen -S windows1
2.2 暂时离开,保留screen
[ctrl]+a+d
2.3 恢复会话
screen -r windows1
//如果忘记了,或者当时没有指定会话名,可以执行:
screen -ls screen
会列出当前存在的会话列表
2.4 关闭会话
exit

3.会话共享(实例)

1.演示者执行 screen -S test 创建一个screen会话
2.观众执行screen -x test 与演示者同步。

4.实际应用

在日常的生产环境中,其实并不是必须先创建会话,然后再开始工作。可以直接使用screen命令执行要运行的命令,这样在命令中的-切操作也都会被记录下来,当命令执行结束后screen会话也会自动结束

[root@locaLhost ~]# screen ping -c 4 www.baidu.com
[screen is terminating]
//如果ping命令不结束,screen窗口也会一直在

标签:服务,主机,screen,会话,ssh,root,远程
From: https://www.cnblogs.com/yysjdys/p/17892714.html

相关文章

  • 没有配置ssh密钥的情况下,对linux批量创建账号、修改密码
    在客户端安装sshpass,利用sshpass进行登陆操作;安全考虑,操作完把明文的账号密码yjk.txt删除掉;--创建用户[root@zhu~]#catcreate_user.sh#!/bin/bashforiin$(cat/root/yjk.txt)doecho$iipaddr=`echo$i|awk-F'|''{print$1}'`passwd=`echo$i|awk-......
  • 香橙派安装Ubuntu22以及远程SSH
    香橙派安装Ubuntu22以及远程SSH材料:window10电脑,香橙派3B及电源,128GTF卡及读卡器软件:SDCardFormatter,Win32DiskImager,MobaXterm安装系统进入香橙派官网下载镜像,官网给的地址是百度云的,里面有server和desktop版本,对应命令行系统和带图形化界面的系统,直接下载desktop版本(反正......
  • python语言在web上的应用:如何节省服务器资源?
    背景介绍在web开发中的应用广泛在web开发中的应用广泛。随着互联网的发展,web应用越来越普遍,而Python作为一种简洁、高效的编程语言,被广泛应用于web开发领域。Python提供了丰富的库和框架,如Django、Flask等,使开发人员能够快速搭建功能强大的web应用。同时,Python还具有良好的可扩展性......
  • .net core - 本地使用minikube搭建k8s - k8s(微服务学习) 一
    1.Docker-Desktop首先本地电脑需要安装docker-desktopDocker-Desktop的windows程序下载网址:docker-desktop2.K8s安装1.kubectl下载首先创建一个文件夹目录kubectl得安装可使用2种方式1.直接下载exe后放到该目录下载最新补丁版1.28: kubectl1.28.4。2.在创建目录......
  • 云手机概念 云手机服务器的底层开发解析
    云手机服务器的底层开发解析作为一个语言模型,我可以提供一般性的了解和常见的云手机服务器技术细节,但无法提供特定云手机服务器的详细底层开发解析。以下是一些常见的云手机服务器技术和相关细节:虚拟化技术:云手机服务器通常使用虚拟化技术,如容器化或虚拟机(VM)来创建和管理虚拟......
  • Java基于云端的云HIS服务平台源码
    云HIS是针对中小医疗机构推出的一套基于云端的云HIS服务平台,借助云his,将医院业务流程化,大大提高医院的服务效率和服务质量,为客户提供医院一体化的信息解决方案。云his主要功能:包含门诊收费管理,住院收费管理,门诊医生工作站,住院医生工作站,住院护士工作站,辅助检查科室管理,药房药品管......
  • 使用FreeFileSync快速实现本地数据备份与FTP远程数据迁移
    数据是电脑中最重要的东西。为了保证数据安全,我们经常会对数据进行备份。之前一直采用将重要数据拷贝至移动硬盘的方式实现备份,实现简单但每次都需要把所有文件拷贝一次,当文件很大时效率较低。因此,考虑使用FreeFileSync软件实现数据备份。该软件使用C++语言编写、免费、开源......
  • 【蟹山村抽化粪池服务】,专业清理,环保卫生,为您的生活环境保驾护航!
    蟹山村抽化粪池服务,致力于为您提供专业的清理服务,以保障您的生活环境的清洁与卫生。我们的团队拥有丰富的经验和专业的技术,能够高效地清理和处理各类化粪池,确保您的生活环境清新无臭,让您远离污水污染的困扰。初审朱小姐:l882OOO2548,专家团队在线解答,一分钟内回复率高达90%!我们......
  • 【项目学习】谷粒商城学习记录5 - 检索服务
    【项目学习】谷粒商城学习记录5-检索服务1、搭建页面环境search模块添加thymeleaf依赖<!--thymeleaf--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>将资料......
  • Linux 配置NTP时间同步服务
    1.安装[可选,如已安装则跳过]aptinstallntp2.启动NTP服务systemctlstartntpdsystemctlenablentpd3.查看NTP服务运行状态systemctlstatusntpd4.修改配置文件vi/etc/ntpsec/ntp.conf查找配置文件命令find/-namentp.conf1.使用第三方NTP地址进行时间同步......