首页 > 其他分享 >ssh与scp

ssh与scp

时间:2023-06-05 17:44:05浏览次数:33  
标签:ip user path local scp ssh SSH

 

 

 

 

function _ssh() {
        local user=$1
        local ip=$2
        local cmd=$3

        local quoted_cmd

        if [ "$user" != root ]; then
                quoted_cmd=$(quote "$cmd")
                cmd="sudo -sk <<< $quoted_cmd" #  support multicommands in one line
        fi

        echo "execute [$cmd] on $ip"

        if [ "$SSH_AUTH" = password ]; then
                sshpass -p "$SSH_PASSWORD" ssh -p "$SSH_PORT" -o StrictHostKeyChecking=no -o PreferredAuthentications=password,publickey "$user"@"$ip" "$cmd"
        elif [ "$SSH_AUTH" = pubkey ]; then
                sshpass -p "$SSH_PASSWORD" ssh -p "$SSH_PORT" -o StrictHostKeyChecking=no -o PreferredAuthentications=publickey,password -i "$SSH_KEY_FILE" "$user"@"$ip" "$cmd"
        else
                exit 1; "unsupport auth type [$SSH_AUTH], only password/pubkey is valid"
        fi
}

 

 _ssh "$user" "$ip" "mkdir -p ${DOCKER_DATA_PATH}"

 

 

 

function _scp() {
        local user=$1
        local ip=$2
        local local_path=$3
        local target_path=$4

        if [ "$SSH_AUTH" = password ]; then
                sshpass -p "$SSH_PASSWORD" scp -r -P "$SSH_PORT" -o StrictHostKeyChecking=no -o PreferredAuthentications=password,publickey "$local_path" "$user"@"$ip":"$target_path"
        elif [ "$SSH_AUTH" = pubkey ]; then
                sshpass -p "$SSH_PASSWORD" scp -r -P "$SSH_PORT" -o StrictHostKeyChecking=no -o PreferredAuthentications=publickey,password -i "$SSH_KEY_FILE" "$local_path" "$user"@"$ip":"$target_path"
        else
                exit 1;echo "unsupport auth type [$SSH_AUTH], only password/pubkey is valid"
        fi
}

 

 

 

 

 

 

 

 

 

############

标签:ip,user,path,local,scp,ssh,SSH
From: https://www.cnblogs.com/igoodful/p/17458552.html

相关文章

  • authorized_keys文件权限过大导致ssh免密登录失败
    Linux服务器~/.ssh/authorized_keys文件权限过大会导致远程主机免密登录本机失败,主要是基于安全性的考虑经过测试,对于CentOS7.6,authorized_keys属组或其他用户具有写权限时,免密会失败;对于Ubuntu20.04,authorized_keys其他用户具有写权限时,免密会失败。不论是哪个发行版,authori......
  • win11自带ssh
    如图:要使用SSH建立远程连接,可以使用以下命令:ssh[选项][用户名@]主机地址其中,选项是可选的,用户名是您在远程主机上的用户名,主机地址是远程主机的IP地址或域名。以下是一些常见的SSH选项:-p:指定SSH服务器的端口号。默认情况下,SSH使用22号端口,但有时会更改为其他端口。-i:指......
  • Docker安装Java, Apache, Redis, Tomcat, Postgresql, SSH
    [color=red]centos安装Supervisor[/color][url]http://www.alphadevx.com/a/455-Installing-Supervisor-and-Superlance-on-CentOS[/url]网络设定[b][color=darkblue]#创建网络brctladdbrbr0iplinksetdevbr0upipaddradd192.168.2.1/24devbr0#创建容器#......
  • git安装教程以及生成git ssh key
    问题GitHub拉取代码需要SSH,总是忘记命令,现网百度。记录下来,以后靠自己的博文第一步安装git 地址: https://git-scm.com/download/win安装它 第二步生成ssh1.cd~/.ssh/进入2.mkdir~/.ssh没有ssh就创建一个3.gitconfig--globaluser.name"你的用户名"......
  • 使用vscode remote连接上SSH服务器实现远程开发
    在VSCode中设置服务器信息1.首先在VsCode中安装Remote-SSH插件,直接搜索安装就行2.接下来打开Remote-SSH插件,并点击配置(Configure)3.在顶部弹出的框中选择config文件的存放位置(默认最上面的即可)4.点击后即可打开config文件,如下代码所示,Host部分输入服务器的外号(如“阿里云”),H......
  • cmd+ssh配置远程服务器Anaconda3_2023+pytorch
    一、上传Anaconda3到远程服务器注意:如果要将这个东西安装在anaconda3文件夹里的话,当前这个目录里不能有这个文件夹。(安的时候会自动创建) 二、安装Anaconda31.win+r快捷键打开cmd输入ssh 可以看到已经与服务器建立连接 2.输入ssh<用户名>@主机IP......
  • 无需公网IP,在家SSH远程连接公司内网服务器「cpolar内网穿透」
    文章目录视频教程1.LinuxCentOS安装cpolar2.创建TCP隧道3.随机地址公网远程连接4.固定TCP地址5.使用固定公网TCP地址SSH远程本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的LinuxCentOS服务器,无需公网IP,也不需要设置路由器。视频教程【SSH远程服务器】在外......
  • win7 安装配置ssh
    1、下载ssh安装包 https://github.com/PowerShell/Win32-OpenSSH/releases 2、解压放到下图文件夹3、设置环境变量 4、验证安装是否成功运行cmd输入ssh  ......
  • ssh client 公钥登录 ssh serve
    树莓派为sshserve例检查serve文件夹及文件操作权限,如将文件传输至/home/pi目录,检查pi文件权限,编辑至相应可操作权限,如:sudochmod777/home/pi更改serve配置文件,/etc/ssh/sshd_config匹配置:PermitRootLoginyesStrictModesnoRSAAuthenticationyes......
  • mac电脑git配置sshKey后不能下拉代码
    配置全局gitconfig--globaluser.name用户名gitconfig--globaluser.email邮箱gitconfig--list//查看配置的用户ssh-keygen-trsa-C248******@qq.com//输入邮箱,一直回车(遇到y/n,选y)ls-al~/.ssh//查看是否生成了私钥,公钥(id_rsa是私钥id_rsa.pub是公钥)......