ssh实现免密码登录和文件传输

scp传输文件和文件夹

#向远端传文件
$ scp [-r] dir/file_name [email protected]_addr/domain_name:dir

#从远端往本地传文件
$ scp [-r] [email protected]_addr/domain_name:dir/file_name dir

usr_name是用户名

ip_addr是ip地址

domain_name是域名

当不输入user_name的时候会默认使用本地用户名

dir是文件目录

file_name是文件名

如果传输的是文件夹需要加上-r参数,传送文件不用

同样的,每次输入ip地址或者域名都太复杂了,刚刚的~/.ssh/config文件还在,完全可以执行

$ scp [-r] dir/file_name alias_name:dir

$ scp [-r] alias_name:dir/file_name dir
# 传输到本地时可以使用相对路径,当前目录可以用.替代,上级目录可以用..替代

进行传送文件。

远端dir如果值为空,默认传输到服务器用户的家目录下

$ scp [-r] dir/file_name alias_name:
# 等同于#
$ scp [-r] dir/file_name alias_name:~#############################################

有两台服务器,client端没有root权限,接收端server有root权限。现在需要从client端免密scp文件到server端。
因为client端没有.ssh文件夹的访问权限,所以不能直接使用client端的密钥,需要从server端生成密钥文件。
整个流程操作步骤如下:
1、server端生成密钥,并且把公钥添加到authorized_keys
2、把私钥上传到client端
3、使用scp -i指定密钥传输

server端配置

生成密钥对

执行ssh-keygen -t rsa,完成之后在/root/.ssh文件夹可以查看到密钥对id_rsa为密钥文件,id_rsa.pub为公钥文件;
执行cp -rf /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys即可

上传私钥

把server端的id_rsa上传至client端即可

使用scp传输

1.命令格式:

scp [参数] [原路径] [目标路径]

2.命令功能:

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

3.命令参数:

-1 强制scp命令使用协议ssh1

-2 强制scp命令使用协议ssh2

-4 强制scp命令只使用IPv4寻址

-6 强制scp命令只使用IPv6寻址

-B 使用批处理模式(传输过程中不询问传输口令或短语)

-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

-p 保留原文件的修改时间,访问时间和访问权限。

-q 不显示传输进度条。

-r 递归复制整个目录。

-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。

-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。

-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。

-l limit 限定用户所能使用的带宽,以Kbit/s为单位。

-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,

-P port 注意是大写的P, port是指定数据传输用到的端口号

-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

此处用到的就是-i参数
使用前记得把id_rsa权限改成600,权限太大会报错
scp -i id_rsa auto_feature/featurefile/特征库* [email protected]:/HYTF/TD/特征库文件/第二代特征库/
备注:
1、此处id_rsa必须与server端的公钥配对
2、如id_rsa文件放在其他目录,记得加上路径

 

原文地址:https://www.cnblogs.com/igoodful/p/11583751.html

时间: 2024-07-31 23:47:43

ssh实现免密码登录和文件传输的相关文章

【CentOS】SSH实现免密码登录与文件分发

实验环境: 10.0.0.9:分发服务器(用于保存SSH生成的密钥和后期的文件的分发工作)10.0.0.10.10.0.0.11:节点服务器(用于保存SSH生成的公钥文件和接收分发服务器的文件) #分发服务器与节点服务器的系统版本与内核如下 [[email protected]/]# cat /etc/redhat-release CentOS release 5.8 (Final) [[email protected]/]# uname -a Linux C58 2.6.18-308.el5 

ssh配置免密码登录

日常工作中很多情况下都需要登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录. 首先服务器两台: A:43.224.34.* B:104.238.161.* 配置的结果是B机器可以免密码登录到A服务器. 首先在B服务器上生成本机的公私密钥: ssh-keygen -t rsa -P '' 过程为: [[email protected] .ssh]# ssh-keygen -t rsa -P '' Generating public/private rsa

Linux生成ssh公钥免密码登录远程主机和Xshell跨跳板机登录

##Linux生成ssh公钥免密码登录远程主机: 1:ssh-keygen -t rsa#生成密钥2:ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]#把本机的公钥追到远程主机172.16.205.117(登录账户hejm)的 ~/.ssh/authorized_keys 里注:如果ssh的端口不是22,可用参数p指定对应端口ssh-copy-id -i ~/.ssh/id_rsa.pub -p 23 [email protected] 或者通

SSH认证免密码登录

#SSH无密码登录要使用公钥与私钥,Linux下可以用ssh-keygen生成公钥/私钥: #Server1(192.168.4.101)Server2(192.168.4.102)Server1通过ssh免密码登录Server2: #Server1生成.ssh目录 [[email protected] /]# ssh 192.168.4.102 The authenticity of host '192.168.4.102 (192.168.4.102)' can't be establish

ssh配置免密码登录,一句搞定。

目标服务器是Ubuntu系统 首先呢, 使用ssh-keygen 在你的Mac终端上生成你的电脑的公钥和私钥,其实我们只用到公钥. ssh [email protected] 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub (其中 user 是你目标服务器的用户名,host是目标服务器的ip),这时候需要你输入目标服务器的密码,等所有步骤操作完就不再需要用密码了. 然后登录到你的目标服务

ssh公钥免密码登录

1,生成公钥 ssh-keygen -t rsa 2,上传至服务器 将个人电脑的公钥,上传到服务器~/.ssh/authorized_keys目录下 3,本地编辑快捷指令 vim ~/.bash_profile alias login-s101='ssh [email protected]' 终端中输入login-s101即可快速登入服务器.

RedHat设置SSH免密码登录

如果我们需要远程管理其他机器的话,一般使用远程桌面或者telnet.linxu服务器几乎都是命令行,所以只能使用telnet了.telnet的缺点是通信不加密,非常不安全,只适合于内网访问.为解决这个问题,推出了加密的通信协议,即SSH.SSH的全称是Secure Shell,使用非对称加密方式,传输内容使用rsa或者dsa加密,可以有效避免网络窃听. hadoop的进程之间通信使用ssh方式,需要每次都要输入密码.为了实现自动化操作,我们下面配置SSH的免密码登录方式. 下面的图展示了SSH免

SSH免密码登录设置

SSH是远程登录Linux系统的工具,Linux系统默认安装都包含SSH服务端,客户端可以通过命令:ssh 服务器IP地址(例:ssh 192.168.100.1)或者SSH客户端软件登录到Linux服务器.但是,默认的SSH登录方式要求用户输入服务器目标账号的密码.为了避免繁琐的密码输入,可以为SSH配置免密码登录.具体配置如下: 假设服务器IP地址:192.168.100.1:客户端IP地址:192.168.100.2. 1. 服务器端执行命令:"[email protected]:~$ s

Linux之间ssh免密码登录

一.生成公私钥对 $ ssh-keygen -t rsa -P '' Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):  Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The