命令概述

命令 英文
ssh 用户名@ip secure shell
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy

在 Linux 中 SSH 是 非常常用 的工具,通过 SSH 客户端 我们可以连接到运行了 SSH 服务器 的远程机器上

安装SSH服务(安装过可忽略)

安装SSH的客户端和服务器

sudo apt-get install openssh-server # 安装服务器  sudo apt-get install openssh-client # 安装客户端

远程登录服务器

ssh [-p port] user@remote
  • user是在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote 是远程机器的地址,可以是 IP域名,或者是 后面会提到的别名
  • port是 SSH Server 监听的端口,如果不指定,就为默认值 22

远程拷贝文件

scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径
  • -r 若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
  • -P 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口

For Example

# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py # 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py # 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop # 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo

SSH相关配置

SSH免密登录

步骤

  1. 配置公钥
  • 执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可
  1. 上传公钥到服务器
  • 方式一:执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
  • 方式二:使用scp上传ssh公钥到服务器(如果第一种不行的话可以考虑第二种方法)
scp ~/.ssh/id_rsa.pub root@xxx.xxx.xxx.xxx:.ssh/id_rsa.pub
ssh root@xxx.xxx.xxx.xxx
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

配置别名

每次都输入 ssh -p port user@remote,时间久了会觉得很麻烦,特别是当 user, remoteport 都得输入,而且还不好记忆,而 配置别名 可以让我们进一步偷懒,譬如用:ssh mac 来替代上面这么一长串,那么就在 ~/.ssh/config 里面追加以下内容:

Host mac
HostName ip地址
User itheima
Port 22

SSH连接失败问题

  • 情况说明:SSH登录服务器报ECDSA host key "ip地址" for has changed and you have requested strict checking错误

  • 原因分析:根据个人的情况,原因是我的云服务器重装了系统(清除了与我本地SSH连接协议相关信息),本地的SSH协议信息便失效了。SSH连接相同的ip地址时因有连接记录直接使用失效的协议信息去验证该ip服务器,所以会报错

  • 解决方式:清除~/.ssh/known_hosts里旧缓存数据。

  • 参考文章https://blog.csdn.net/yjk13703623757/article/details/80443283?utm_source=blogxgwz5

SSH远程登录相关教程的更多相关文章

  1. 树莓派初入门(1):SSH远程登录与VNC远程桌面

    前言: 本文主要讲解,对于一个无树莓派显示屏,无键盘,无鼠标,手边只有手机,电脑和一个已烧录好raspbian-stretch系统的树莓派3B+的玩家,如何进行远程登录,进而可以进程桌面的连接. 工具 ...

  2. [转帖]SSH远程登录配置文件sshd_config详解

    SSH远程登录配置文件sshd_config详解 2016年06月02日 17:42:25 Field_Yang 阅读数 61386   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权 ...

  3. LFS资料和SSH远程登录全过程

    LFS 即 Linux From Scratch, From Scratch的意思是"白手起家",即从0开始安装Linux,它的所有软件包都需要从源代码开始编译安装.这是通过实际动 ...

  4. 【浅层优化实战】ssh远程登录Linux卡慢的全过程排查及解决方案

    ssh远程登录Linux卡慢的全过程排查及解决方案 前言: 在linux操作系统使用过程中偶然一次感到使用ssh远程连接软件连接操作系统需要等待许久,第一次没在意,第二次也没在意,第三次有点忍受不住了 ...

  5. Firefly安装ROS及ssh远程登录配置

    一.在Linux firefly 3.10.0 上安装ROS-indigo 快捷键 CTRL + ALT  + T 打开终端并安装ROS-indigo sudo sh -c 'echo "d ...

  6. SSH客户端(如PuTTY)ssh远程登录Linux非常慢的解决方法

    转:http://blog.useasp.net/archive/2014/05/19/solved-the-problem-of-ssh-client-such-as-putty-remote-lo ...

  7. ssh远程登录linux live系统

    要想ssh远程登录,须要准备两件事:配置同网段IP和开启SSH服务. 因为live系统没有IP,所以首先须要配置IP. 我的live系统是在虚拟机上启动的,宿主IP为192.168.230.1,liv ...

  8. ssh远程登录linux服务器

    ssh远程登录linux服务器 用法: ssh -l user -p port server_ip 或者 ssh -p port user@server_ip 参数: -l 后接要登录的远程系统用户名 ...

  9. ssh远程登录命令简单实例

    ssh远程登录命令简单实例 ssh命令用于远程登录上Linux主机. 常用格式:ssh [-l login_name] [-p port] [user@]hostname 更详细的可以用ssh -h查 ...

随机推荐

  1. NAG博客目录

    一.Scrum Meeting 1. Alpha Scrum meeting 1 Scrum meeting 2 Scrum meeting 3 Scrum meeting 4 Scrum meeti ...

  2. [bug] JavaScript:Uncaught SyntaxError: missing ) after argument list

    function拼写错误

  3. [bug] Linux下执行.sh命令出现-bash: ./bin/start.sh: /bin/bash^M: bad interpreter: No such file or directory

    参考 https://www.cnblogs.com/aeolian/p/10614284.html

  4. [刷题] 416 Partition Equal Subset Sum

    要求 非空数组的所有数字都是正整数,是否可以将这个数组的元素分成两部分,使得每部分的数字和相等 最多200个数字,每个数字最大为100 示例 [1,5,11,5],返回 true [1,2,3,5], ...

  5. NFS PersistentVolume(11)

    一.部署nfs服务端 1.需在 k8s-master 节点上搭建了一个 NFS 服务器,目录为 /nfsdata: yum install -y nfs-utils rpcbind vim /etc/ ...

  6. cka 英文考试题

    ## CKA真题解析 #### 1**Set configuration context $kubectl config use-context k8s. Monitor the logs of Po ...

  7. python基础之迭代器、生成器、装饰器

    一.列表生成式 a = [0,1,2,3,4,5,6,7,8,9] b = [] for i in a: b.append(i+1) print(b) a = b print(a) --------- ...

  8. IDEA Git 项目实战场景

    实战场景一:上班啦,从远程仓库克隆项目到本地仓库(Clone) 打开 IDEA,在 Check out from Version Control 下拉菜单选择 Git,如下: 在弹出窗口的 URL 地 ...

  9. SUSE12 网卡配置、SSH远程配置、解决CRT密钥交换失败,没有兼容的加密程序

    安装好SUSE系统后发现网卡配置与Centos有些差异,多网卡的同学可以参考一下(我的是双网卡) SUSE系统默认第一块网卡自动获取IP,如果是多网卡,需要手动配置,由于我的第一个网卡获取正确无需更改 ...

  10. Linux应用程序设计:用一种讨巧方式,来获取线程栈的使用信息

    面对的问题 对于线程的栈空间,相信各位小伙伴都不陌生.它有下面的这几项特性: > 1. 由操作系统分配固定的空间; > > 2. 使用一个栈寄存器来保存实时位置; > > ...