`
ralphr
  • 浏览: 143189 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

无需密码,使用scp进行传输

 
阅读更多

尝试过使用scp 进行文件传输,这个命令比较好,不需要本机器或者对端机器安装什么服务.但一直以来有个缺点,需要手动输入密码,我在服务器A上定了个计划,每周执行一次 拷贝命令,将A上指定目录下的一些文件拷贝到对方机器上.命令是这样写的:scp –rp /backup/ bklinux@*.*.*.*:/backup/, 命令的作用是将本地/backup目录下的文件及子目录上传至B服务器/backup目录下.
A:建立用户bklinux,并对/backup目 录有访问权限
B:建立用户bklinux,并对/backup目录有访问权限
这条命令不需要管理员权限就可以执行. 但传输文件时,提示输入bklinux的密码.

现在的问题,我如果想加入脚本每周固定的时间执行,应该怎么取消掉密码?google scp 密码,找到方法.
----------------------------------------------------- 我是分割线 -------------------------------------------------------------------------

把你的本地主机用户的ssh公匙文件复制到远程主机用户 的~/.ssh/authorized_keys文件中
假设本地主机linux100,远程主机linux200
一,在linux100主机里的用户
运行
#ssh-keygen -t rsa
结果如下
QUOTE:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/.username/ssh/id_rsa):#回车
Enter passphrase (empty for no passphrase):#回车
Enter same passphrase again:#回车
Your identification has been saved in /home/.username /.ssh/id_rsa.
Your public key has been saved in /home/.username /.ssh/id_rsa.pub.
The key fingerprint is:
38:25:c1:4d:5d:d3:8946:67:bf:52:af:c3:17:0c username@localhost
Generating RSA keys:
Key generation complete.

会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub
二,把linux100主机上的id_rsa.pub文件拷贝到linux200主机的root用户主目录下的.ssh目录下,并且改名为 authorized_keys
即:
/root/.ssh/authorized_keys
这样在linux100主机上使用scp命令复制文件到linux200上将不提示输入密码了,直接复制了。
反之亦然!
-------------------------------------------------------------我是 分割线---------------------------------------------------------------------
实际上就是建立了双方的ssh的信任机制
经实验,原本A服务器/root下没有.ssh/目录.执行#ssh-keygen -t rsa后,产生文件如下:


 

将id.rsa.pub通过scp命令拷贝至B服务器root/.ssh/authorized_keys目录下,B服务器需要手动建立.ssh目录.
B服务器重新加载sshd服务,service sshd reload(也许是多余的)
这样,可以在A上执行scp –rp /backup/ bklinux@*.*.*.*:/backup/, 或者scp –rp /backup/ root@*.*.*.*:/backup/进 行文件传输,
同样,也可以使用bklinux登陆A,执行$ssh-keygen -t rsa,也将在对应目录产生3个文件,重复执行上述步骤,拷贝至B服务器/home/bklinux/.ssh/authorized_keys下,B服务器bklinux用户的.ssh/目录也需要手动创建.
这样,在A上用bklinux用户,也可以进行免密码的文件传输了.

注:此方式的安全性本文没有谈到,更好的办法是在B上创建nfs服务,在A上就可以直接操作了,就像操作本地磁盘一样.以后尝试. 
    使用此方法做免密码传输,需要双方服务器建立同样的账号,在客户端执行ssh-keygen -t rsa,然后将对应的文件拷贝至服务器端,相当于客户端去服务器端进行信任的校验,通过就不需要密码了.

  • 大小: 10.8 KB
分享到:
评论

相关推荐

    解决linux scp无需密码问题

    ### 解决Linux SCP无需密码问题 #### 背景与目的 在企业级环境中,确保数据和服务的高可用性是至关重要的。为了提高系统的稳定性和可靠性,常常需要进行数据备份。传统的本地备份方式可能在某些情况下无法满足需求...

    linux scp传输不用密码

    但在某些应用场景下,为了提高效率或自动化操作的需求,我们需要实现SCP传输时无需密码的操作。这主要依赖于公钥认证机制来实现。 #### 公钥认证机制概述 公钥认证机制的核心思想是通过一对密钥(公钥和私钥)来...

    通过秘钥实现scp不输入密码传送文件

    总结来说,通过SSH密钥对实现无密码SCP传输是提高效率和安全性的重要手段。理解并掌握这个过程对于IT管理员和系统工程师来说是必要的技能,特别是在需要频繁跨主机操作的环境中。这种方法不仅可以应用于个人工作流,...

    Linux批量scp命令执行工具 可批量对多个Linux主机执行传输文件命令 方便省力 适合统一化管理Linux服务器

    1. **提高效率**:无需逐个主机执行scp命令,一次操作即可完成所有主机的文件传输。 2. **减少错误**:自动化脚本减少了手动输入时可能出现的拼写错误或路径错误。 3. **统一管理**:对于拥有大量服务器的企业,统一...

    sh_scp.zip

    `SCP`基于`SSH`(Secure Shell)提供安全的文件传输功能。然而,当我们需要对多台服务器进行批量复制时,手动操作会变得繁琐且效率低下。为了自动化这个过程,我们可以结合`shell脚本`和`expect`工具来实现。`expect...

    windows上的scp工具软件包

    这样,每次连接时,PuTTY会自动使用私钥进行身份验证,无需输入密码,提高安全性。 6. **PuTTY配置文件管理**:PuTTY有一个名为`ppk`的私钥格式,可以通过PuTTY的密钥生成器(PuTTYgen)创建和管理。同时,PuTTY的...

    bash脚本中将密码传递给ssh/scp命令方法详解

    总结来说,通过使用`sshpass`或密钥对认证,可以在bash脚本中自动化处理SSH和SCP命令,而无需人工干预输入密码。这种方式极大地提高了自动化任务的安全性和效率。但是,强烈建议使用密钥对,因为它提供了更好的安全...

    在Linux下用scp复制文件无需输入密码的技巧

    ### 在Linux下用scp复制文件无需输入密码的技巧 #### 一、背景介绍 ...通过以上步骤,我们可以在Linux系统中轻松实现免密码SCP文件传输,极大地提高了工作效率。希望本文能够帮助大家更好地理解和应用这一技巧。

    SCP的一个小例子

    SCP(Secure Copy Protocol)是一种网络...通过学习这个SCP的小例子,开发者不仅可以了解SCP协议的基本概念,还能掌握如何在C#环境中使用SharpSsh库进行文件的安全传输。这为开发涉及远程文件操作的应用提供了基础。

    WINSCP-SFTP SSH免密码登录

    **标题解析:** "WINSCP-SFTP SSH免密码登录" 指的是使用WINSCP工具通过SFTP(Secure File Transfer Protocol)协议,并利用SSH(Secure Shell)进行安全连接,实现无需手动输入密码的自动化登录。 **描述解析:** ...

    winscp Free SFTP SCP and FTP client for Windows

    WinSCP也集成了SCP协议,使得用户在没有FTP服务的情况下,也能便捷地进行文件的传输。 FTP(File Transfer Protocol)虽然不那么安全,但依然在某些场景下被使用。WinSCP虽然以安全传输为主,但也支持FTP协议,满足...

    在两台服务器之间建立信任关系解决scp,ssh等不用输入密码等问题.files.rar

    在IT领域,尤其是在系统管理与运维中,经常需要在多台服务器之间进行文件传输或远程登录操作,如使用scp(安全复制)和ssh(安全外壳协议)。为了提高效率并确保安全性,建立两台服务器之间的信任关系是至关重要的。...

    Shell中使用scp命令实现文件上传代码

    在Linux或Unix系统中,`scp`(Secure Copy)命令是一种用于安全地在本地主机和远程主机之间传输文件的工具,它基于SSH(Secure Shell)协议。在Shell脚本中使用scp命令可以自动化文件上传过程,提高效率,减少错误。...

    wrar_5.50.0.0_scp.rar

    SCP(Secure Copy Protocol)版的WinRAR通常意味着它具有安全传输文件的功能,能够确保在不安全的网络环境下数据传输的安全性。 WinRAR的亮点功能包括: 1. **多卷压缩**:当需要压缩的文件过大,无法一次性存储到...

    dropbear实现免密码ssh登录方法

    8. **测试连接性**:尝试使用SSH命令进行连接测试,确认是否可以成功免密码登录。 #### 四、常见问题及解决方案 1. **公钥未完整显示**: - 在某些情况下,如使用secureCRT软件时,由于界面宽度限制,可能会出现...

    Go-sftp-这个Go包实现了SSH文件传输协议

    Go-sftp库实现了这个协议,使得Go开发者能够方便地在本地和远程服务器之间进行文件操作,而无需直接使用命令行工具如`ssh`或`scp`。 使用Go-sftp库,开发者可以执行以下操作: 1. **连接与断开**:建立与远程服务器...

    jsch实现远程传输

    **JSch库详解与远程SFTP传输** JSch(Java Secure Channel)是一个纯...在实际应用中,你可能还需要处理异常、重试机制、优化性能等方面的问题,但本文提供的基础框架应该足以帮助你开始使用JSch进行远程SFTP传输。

    winscp文件传输工具

    4. **安全最佳实践**:定期更换密码,使用密钥对认证,避免在不安全的网络环境下传输敏感数据。 总之,Winscp作为一款强大的文件传输工具,其易用性和安全性使其成为IT专业人员和普通用户的首选。通过熟练掌握其...

    C#的linux-ssh&scp;封装

    使用这样的库,开发者可以轻松地在C#应用程序中与Linux服务器进行交互,无需关心底层的SSH和SCP协议细节。这对于构建跨平台的系统管理工具、自动化脚本或者云服务来说非常有用。 例如,你可以这样使用WugSshLib: ...

Global site tag (gtag.js) - Google Analytics