• 《Linux》day5--ssh——ssh登录与scp传文件


    ssh登录

    基本用法

    远程登录服务器

    ssh user@hostname
    
    • 1

    其中:

    • user:是用户名
    • hostname:是IP地址或域名

    第一次登录会提示:

    The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established.
    ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? 
    
    • 1
    • 2
    • 3

    我们输入 yes ,然后回车,这样就会将该服务器的信息记录在 ~/.ssh/known_host 文件中。然后我们输入密码就可以登录到远程服务器中

    默认登录端口号为22,如果想登录到某一特定的端口:

    ssh user@hostname -p 22
    
    • 1

    配置文件

    刚开始我们的ssh里面的配置都是初始化的,相当于是毛坯房,没有特殊的功能,比如tmux无法按照指定功能键分屏,vim无法显示行号等等;我们需要自己来手动配置文件。

    创建文件: ~/.ssh/config(在。ssh里面用vim创建文件config)

    然后在文件中输入:

    Host myserver
    	HostName IP地址或域名
    	User 用户名
    
    • 1
    • 2
    • 3

    这样,我们在之后登录服务器时,直接输入 ssh myserver就可以登录服务器了。

    密钥登录

    如果我们的服务器比较多,每次连接一个服务器都需要输入密码会很浪费时间,我们可以来设置免密登录。

    创建秘钥:ssh-keygen

    然后一直回车即可,执行结束后,~/.ssh/目录下会多两个文件

    • id_rsa:私钥
    • id_rsa_pub:公钥

    之后想免密登录哪个服务器,就将公钥传给哪个服务器即可。

    例如:我们想免密登录 myserver 服务器,那么就将公钥中的内容,复制到 myserver 中的 ~/.ssh/authorized_keys (在.ssh里面 vim一个authorized_keys,将公钥id_rsa-pub里面的内容复制到这里面)文件里即可。(ssh里面没有.ssh文件夹的用mkdir创建一个,然后在.ssh里面vim一个authorized_keys)

    也可以使用如下命令一键添加公钥:

    ssh-copy-id myserver
    
    • 1

    执行命令

    命令格式:

    ssh user@hostname command
    
    • 1

    例如:

    ssh user@hostname ls -a
    
    • 1

    也可以获取sdout:注意ssh中单引号’可以求$i的值,双引号"不可以,与shell语言不同(原因:我们之前知道,双引号回转义 $i 的值,所以传过去的命令是 echo i,而不是 echo $i,而单引号不会转义,所以传过去的就是 echo $i)

    例如:
    在这里插入图片描述

    scp传文件

    基本用法

    命令格式:

    scp source destination
    
    • 1

    将source路径下的文件复制到destination中

    也可以一次复制多个文件

    scp source1 source2 destination
    
    • 1

    复制文件夹:

    scp -r ~/tmp myserver:/home/acs/
    
    • 1

    将本地家目录中的tmp文件夹复制到myserver服务器中的/home/acs/目录下。

    scp -r ~/tmp myserver:homework/
    
    • 1

    将本地家目录中的tmp文件夹复制到myserver服务器中的~/homework/目录下。

    scp -r myserver:homework .
    
    • 1

    将myserver服务器中的~/homework/文件夹复制到本地的当前路径下。

    scp -P 22 source1 source2 destination
    
    • 1

    我们也可以只在指定端口下复制:

    注意: scp中的 -r -P 等参数必须加在source和destination之前。

    推荐一个好用的软件 Winscp

    下载地址:Winscp下载

    使用scp配置其他服务器的vim和tmux

    命令格式:

    scp ~/.vimrc ~/.tmux.conf myserver:
    
    • 1

    我们使用 scp 把 .vimrc 和 .tmux.conf 传到我们的 myserver 服务器上去就行了




    更新

    SSH分客户端openssh-client和openssh-server

    如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server。

    sudo apt-get install openssh-client 
    sudo apt-get install openssh-server 
    
    • 1
    • 2

    我们下载ssh后,需要配置一下ssh里面的内容

    启动ssh方式,输入:

    sudo /etc/init.d/ssh start 
    
    • 1

    停止和重启ssh服务的命令如下:

    sudo /etc/init.d/ssh stop  #server停止ssh服务 
    sudo /etc/init.d/ssh restart  #server重启ssh服务
    
    • 1
    • 2
  • 相关阅读:
    九. Linux网络命令
    STM32H750之FreeRTOS学习--------(一)初识RTOS
    使用Docker安装运行RabbitMQ---阿里云服务器
    声音训练数据集哪里找?中文、英文
    《Java 算法与数据结构》第 2 章:数组
    详解DLT直接线性变换算法及代码示例
    ISP-Gamma
    liburl请求http
    控制文件丢失
    岩土工程监测中振弦采集仪数据处理与解读的挑战与方法
  • 原文地址:https://blog.csdn.net/qq_59702185/article/details/127899354