ssh 远程登录 一文弄懂

2024-06-16 00:48
文章标签 登录 远程 ssh 一文 弄懂

本文主要是介绍ssh 远程登录 一文弄懂,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ssh - Secure Shell(安全外壳协议)

远程登录方式

  • 密码登录
  • 密钥登录
安装

服务端

sudo apt install openssh-server

客户端

sudo apt install openssh-client

win10: win+x / 应用和功能 / 管理可选功能 / 添加功能 / OpenSSH

密码登录

发起会话,ssh user@hostname 或 ssh user@ip,输入用户密码.

ssh haha@myserver

ssh haha@192.168.1.23
密钥登录
  1. 生成密钥对
haha@st ~/.ssh $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/haha/.ssh/id_rsa):	//要求输入文件名,按回车默认id_rsa
Enter passphrase (empty for no passphrase):     //第一次输入密码,按回车免密
Enter same passphrase again:    //第二次输入密码,要和第一次一样
Your identification has been saved in /home/haha/.ssh/id_rsa.	//生成的私钥文件id_rsa
Your public key has been saved in /home/haha/.ssh/id_rsa.pub.	//生成的公钥文件id_rsa.pub

查看生成的密钥对

haha@st ~ $ ls .ssh/
id_rsa  id_rsa.pub

ssh-keygen 有更多的参数可以用

  • -f 指定密钥文件,如 ~/.ssh/my_ssh_key.
  • -P 指定密码,如 “123456”,或者空 “”.
haha@st ~ $ ssh-keygen -f ~/.ssh/my_ssh_key -P ""
haha@st ~ $ ls .ssh/
id_rsa  id_rsa.pub  my_ssh_key  my_ssh_key.pub
  1. 拷贝公钥到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.4

这相当一次密码登录,要求输入密码.公钥会被拷贝到服务器 user 用户的/home/user/.ssh/authorized_keys (授权文件).
之后,只要有客户端发起密钥登录就会到授权文件查找公钥进行认证.

ssh-copy-id 指令格式:ssh-copy-id -i 公钥文件 username@hostname.
win 下如果没有 ssh-copy-id 工具,需要手动拷贝.

  1. 发起会话
ssh user@192.168.1.4

可以用 -i 参数指定密钥

ssh user@192.168.1.4 -i ~/.ssh/my_ssh_key
  1. 更加便捷的登录方式,配置 .ssh/config 文件
Host user8server             HostName 192.168.1.4User userIdentityFile C:\\Users\\haha\\.ssh\\my_ssh_key

Host 字段是个名字可以随意起,但最好用字母和数字,像 @ 就会出问题,和 ssh 用户@主机 冲突.
HostName 字段和 User 字段组成 ssh User@HostName.
IdentityFile 字段指定 ssh 私钥 -i IdentityFile.

  1. 现在可以这样登录
ssh user8server

参考

https://www.cnblogs.com/xz816111/p/9479139.html
https://baike.baidu.com/item/ssh/10407?fr=aladdin
https://www.jianshu.com/p/33461b619d53

这篇关于ssh 远程登录 一文弄懂的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065056

相关文章

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

一文彻底搞懂Java 中的 SPI 是什么

《一文彻底搞懂Java中的SPI是什么》:本文主要介绍Java中的SPI是什么,本篇文章将通过经典题目、实战解析和面试官视角,帮助你从容应对“SPI”相关问题,赢得技术面试的加分项,需要的朋... 目录一、面试主题概述二、高频面试题汇总三、重点题目详解✅ 面试题1:Java 的 SPI 是什么?如何实现一个

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De