Linux学习之SSH基础

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


image.png
  • SSH客户端是一种使用Secure Shell协议连接到远程计算机的软件程序
  • SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议
    1.利用SSH协议可以有效防止远程管理过程中的信息泄露。
    2.通过SSH协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
    -SSH的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度。

1)域名和端口号

域名

  • 是一串用点分隔的名字组成
  • 是IP地址的别名,方便用户记忆

端口号

  • IP地址:通过IP地址找到网络上的计算机
  • 端口号:通过端口号可以找到计算机上运行的应用程序
    SSH服务器的默认端口号,如果是默认端口号,在连接的时候,可以省略
  • 常见的服务器端口号:
    SSH服务器 22
    Web服务器 80
    HTTPS 443
    FTP服务器 21

2)SSH客户端的简单的使用

ssh [-p port] user@remote
#user是远程计算器上的用户名,如果不指定的话默认为当前用户
#remote是远程计算器的地址,可以是IP/域名,或者可以是别名
#port是SSH Server监听的端口,如果不指定,就为默认值22
#使用exit退出当前用户的登录
  • ssh这个终端命令只能在Linux或者UNIX系统下使用
  • 如果在Windouws系统中,可以安装PuTTY或者XShell客户端软件即可

3)scp(掌握)

  • scp就是secure copy,是一个在Linux下用来进行远程拷贝文件的命令
  • 它的地址格式与ssh基本相同,需要注意的是,在指定端口时用的是大写的-P而不是小写的
  • -r选项 若给出的源文件是目录文件,则scp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
#把本地当前目录下的01.py文件复制到远程家目录下的Desktop/01.py
#注意:“:”后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
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

4)设置免密登录

步骤:
  • 生成公匙
    在本地执行ssh-keygen即可生成SSH钥匙,一路回车即可,生成的公匙在C:\Users\userName.ssh文件夹下(windous系统)
  • 上传公匙到服务器
    执行ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公匙
  • 注意:
    如果在windous系统下无法执行ssh-copy-id命令,则可以使用scp命令将公匙拷贝到服务器。例如,在本地(windous系统)下的.ssh文件夹下打开终端命令。把.ssh文件夹下的id_rsa.pub重命名为authorized_keys。执行以下命令:
scp authorized_keys user@remote:.ssh
示意图:
image.png

5)配置别名

在本地/.ssh/config里面追加以下内容

Host myserve
      HostName 服务器ip地址
      User 服务器名称
      Port 22

配置之后,即可用ssh myserve实现远程登录了,scp同样适用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容