美文网首页
简单使用SSH

简单使用SSH

作者: Reone_JS | 来源:发表于2024-04-01 20:45 被阅读0次

〇、服务器SSH免密登录

  1. 本地生成公钥和私钥 ssh-keygen -t rsa
  2. 找到文件~/.ssh/id_rsa.pub,复制文件内全部内容
  3. 登录服务器,找到~/.ssh/authorized_keys文件,如果没有创建一个
  4. 将复制的内容copy到authorized_keys文件中,保存

一、基本语法

  1. 登录
ssh -p 22 user@host

参数:

  • -p:指定端口号。
  • user:登录的用户名。
  • host:登录的主机。

默认的端口号为22,当端口号为22的时候,可以省略

  1. 注销
exit
  1. 远程操作
# 例
ssh user@host 'netstat -tln |grep 1080'
  1. 端口转发
    转发参数:
-C:压缩数据
-f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-N :不执行脚本或命令,通常与-f连用。
-g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。
-L : 本地端口:目标IP:目标端口
-D : 动态端口转发
-R : 远程端口转发
-T :不分配 TTY 只做代理用
-q :安静模式,不输出 错误/警告 信息
  • 本地转发
#把发到本地的某个端口请求,转发到远程的某台机器上面
ssh -L [本地地址:]本地端口:远程地址:远程端口 远程用户@远程地址

#把发给远程机器的某个端口请求,转发到本地的机器上面
ssh -R [远程地址:]远程端口:本地地址:本地端口 远程用户@远程地址

二、公私钥登录

  1. 原理说明
    1. 首先在客户端生成一对密钥(ssh-keygen)
    2. 并将客户端的公钥ssh-copy-id 拷贝到服务端
    3. 当客户端再次发送一个连接请求,包括ip、用户名
    4. 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:qwer
    5. 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端
    6. 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端
    7. 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录
  1. 生成公钥和私钥
    ssh-keygen命令,可以生成公钥和私钥,默认生成到用户的家目录下的.ssh文件夹里面
ssh-keygen -t rsa
  • 私钥默认会被保存在 ~/.ssh/id_rsa
  • 公钥默认会被保存在 ~/.ssh/id_rsa.pub
#例
ssh-keygen -f [fileName] -t rsa -C "user@host"

参数解析:

  • -f 指定要生成文件的文件名称
  • -t 设置认定方式,值为rsa,即非对称加密;或dsa,即数字签名和认证
  • -c 指定公钥中的备注信息

三、相关命令

  1. 查看是否启用了ssh: netstat -ntlp |grep ssh
  2. 启动、停止、重启服务
  • 开启ssh服务 service sshd start
  • 停止ssh服务 service sshd stop
  • 重启ssh服务 service sshd restart
  1. 配置ssh-server,配置文件位于/etc/ssh/sshd_config
  2. 默认端口为22,为了安全,一般自定义为其他端口,然后重启

常用命令

  1. 复制本地文件到远程主机:
# 文件
scp file_name username@hostname:/remote/directory
#目录
scp -r local_directory username@hostname:/remote/directory
  1. 拉取远程文件到本地
scp username@hostname:/remote/directory/file .
  1. 执行远程命令
ssh username@hostname [commond]

相关文章

  • ssh和scp的简单使用

    SSH 客户端的简单使用: 使用ssh客户端远程登录到指定的计算机$ ssh [-p port] user@rem...

  • ssh和scp的简单使用

    SSH 客户端的简单使用: 使用ssh客户端远程登录到指定的计算机$ ssh [-p port] user@rem...

  • serveo内网穿透,无需下载软件,一行命令搞定

    serveo官网:https://serveo.net/ 使用非常简单,一行 ssh 命令搞定 ssh -R 80...

  • 关于SSH的原理和使用

    一、什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH...

  • SecureCRT操作

    什么是SSH?简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录...

  • secureCRT操作

    什么是SSH?简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录...

  • SSH原理,远程登录详解

    一、什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH...

  • SSH详解(远程登陆协议)

    SSH定义:简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另...

  • SSH免密登陆

    SSH简介 简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另...

  • ssh和scp使用

    ssh客户端基本使用 scp使用 ssh免密码登录 ssh配置别名

网友评论

      本文标题:简单使用SSH

      本文链接:https://www.haomeiwen.com/subject/vuvitjtx.html