zoukankan      html  css  js  c++  java
  • linux远程认证ssh/scp/sftp

    参考文档:www.openssh.com

    SSH

    SSH,即Secure Shell,是用于安全登录远程系统的协议。
    SSH是一种协议,我们常用的OpenSSH只是实现了它的一个软件。
    一般情况下系统会自带openssh-client,可用于登录其他服务器。
    若要被登录,则在ubuntu中你可以通过sudo apt install openssh-server的方式来安装。

    ssh 远程登录服务器

    # 不写用户名默认以当前用户身份登录
    ssh <域名或IP地址>
    
    # 指定用户名
    ssh <用户名>:<域名或IP地址>
    
    # 回车之后如果密钥已经配置,则会直接登录成功,否则会询问密码
    

    sshd 修改默认端口22

    我们可以通过配置文件修改默认端口22,配置文件在/etc/ssh/sshd_config
    打开配置文件,我们找到 # Port 22 将其取消注释,然后修改为其他端口比如99,然后尝试连接:

    理性端口号,需要重启sshd方可生效:systemctl restart sshd

    禁止Root用户登录

    如果想禁止Root用户远程直接登录,可以将配置文件里的PermitRootLogin设置为no

    生成密钥

    使用ssh-keygen生成密钥的时候,会提示输入密码,直接回车即置空。
    之后使用该密钥对去登录其他服务器的时候,不需要输入额外的密码。
    否则,你在其他服务器上配置过公钥之后,使用该私钥去认证,需要输入该私钥的密码。

    ssh-keygen -t rsa
    <Enter>
    <Enter>
    <Enter>
    

    将公钥拷贝到服务器

    # 端口为22则可省略 -p <port>
    ssh-copy-id -p <port> <host>
    

    scp

    # 拷贝本地文件到远程服务器
    scp <本地文件> -p <port> <user>@<host>:<path>  # 如果是目录加 -r
    
    # 从服务器拷贝文件到本地
    scp -p <port> <user>@<host>:<path> <本地路径>  # 如果是目录加 -r
    

    sftp

    sftp <host>
    # 进入交互模式后,可以浏览传输文件
    get <文件名> <本地地址>
    

  • 相关阅读:
    无法上网排查解决方案
    远程连接虚拟机失败解决方案
    xshell5 优化方案
    centos6.9系统优化
    阿里云slb+https 实践操作练习
    cobbler 无人值守系统安装
    分治法——大整数相乘
    杭电1006
    使用KNN对iris数据集进行分类——python
    python 当pip不能用的时候可以去找python安装包
  • 原文地址:https://www.cnblogs.com/amnotgcs/p/14024784.html
Copyright © 2011-2022 走看看