`

linux scp无密码

阅读更多
原理:
  密匙认证需要依靠密匙,首先创建一对密匙(包括公匙和密匙,并且用公匙加密的数据只能用密匙解密),并把公匙放到需要远程服务器 上。这样当登录远程服务器时,客户端软件就会向服务器发出请求,请求用你的密匙进行认证。服务器收到请求之后,先在你在该服务器的宿主目录下寻找你的公 匙,然后检查该公匙是否是合法,如果合法就用公匙加密一随机数(即所谓的challenge)并发送给客户端软件。客户端软件收到 “challenge”之后就用私匙解密再把它发送给服务器。因为用公匙加密的数据只能用密匙解密,服务器经过比较就可以知道该客户连接的合法性。

客户机:192.168.1.153
远端主机:192.168.1.151

在客户机以root用户执行下述命令:
[root@localhost .ssh]# /usr/bin/ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
30:f6:d7:2a:ac:56:eb:3f:fa:40:25:8d:90:96:68:cb root@localhost.localdomain
------------------------------------------------
说明:
该命令将在用户的主目录/.ssh目录下面产生一对密钥
一般采用的ssh的rsa密钥:
id_rsa 私钥
id_rsa.pub 公钥
下述命令产生不同类型的密钥
ssh-keygen -t dsa
ssh-keygen -t rsa
ssh-keygen -t rsa1
-------------------------------------------------------
[root@localhost .ssh]# scp /root/.ssh/id_rsa.pub root@192.168.1.151:/root/.ssh/authorized_keys
The authenticity of host '192.168.1.151 (192.168.1.151)' can't be established.
RSA key fingerprint is 4b:a5:74:fb:2e:08:60:af:fa:76:d4:b0:26:4c:13:75.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.151' (RSA) to the list of known hosts.
root@192.168.1.151's password:
id_rsa.pub 100% 236 0.2KB/s 00:00
-------------------------------------------------------------
说明:
将公钥拷贝到远端主机,并写入授权列表文件
你也可以把公钥文件拷贝过去后,在远端主机下直接执行
touch /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
-------------------------------------------------------------
操作完毕,登陆检查。
[root@localhost .ssh]# ssh 192.168.1.151
root@192.168.1.151's password:
请注意此时如果仍提示输入密码,请检查如下文件夹和文件的操作权限,这是非常重要的, 否则ssh公钥认证体制不能正常工作:
192.168.1.153(客户端)
/home/root文件夹的权限是600
/home/root/.ssh文件夹的权限是600 (好像这个权限关系不是很大)
/home/root/.ssh/id_dsa私钥的权限600
192.168.1.151(远端主机)
/home/root文件夹的权限是644
/home/root/.ssh文件夹的权限是644 (好像这个权限关系不是很大)
/root/.ssh/authorized_keys公钥的权限644
--------------------------------------------------------------
[root@localhost ~]# ssh 192.168.1.151
Last login: Sat Dec 15 21:10:17 2007 from 192.168.1.153
[root@localhost ~]#
无密码SSH登陆成功!

-----------------

参考:
http://blog.csdn.net/turkeyzhou/archive/2010/06/16/5673497.aspx

客户机的.ssh目录必须在生成rsa密钥的时候可写
服务主机的.ssh权限为700
服务主机的authorized_keys权限为644
主机和客户机的用户用户名相同(本文同为corey)
分享到:
评论

相关推荐

    解决linux scp无需密码问题

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

    linux scp传输不用密码

    ### Linux SCP传输免密码的基本原理及配置步骤 在Linux环境下,SCP(Secure Copy Protocol)是一种基于SSH协议的安全文件传输方式。通常情况下,我们通过输入密码来进行身份验证,从而实现文件的传输。但在某些应用...

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

    为了解决这个问题,就有了“Linux批量scp命令执行工具”,它能够帮助管理员批量地对多个Linux主机执行scp命令,极大地提高了工作效率,尤其适用于需要统一管理大量服务器的场景。 scp(Secure Copy Protocol)命令...

    Linux服务器scp无密码传输文件操作说明

    ### Linux服务器scp无密码传输文件操作详解 #### SCP概述 SCP(Secure Copy,安全复制)是一种基于SSH(Secure Shell)协议的安全文件传输方法。通过SCP,用户可以在本地和远程服务器之间安全地传输文件或目录。SCP...

    不需要远程传输文件Linux如何关闭scp和sftp命令.docx

    scp命令是用于在两台主机之间传输文件的命令,通常用scp命令通过ssh获取对方Linux主机文件时,需要输入密码确认。方法类似于ftp命令,但是scp命令更加安全。 禁止scp命令 要禁止scp命令,需要删除openssh-clients...

    System_Ssh_scp.rar_linux scp_scp_system scp

    标题中的"System_Ssh_scp.rar_linux scp_scp_system scp"暗示了这是一个关于Linux系统下使用SCP(Secure Copy)命令进行文件传输的教程。SCP是SSH(Secure Shell)的一部分,常用于在不同主机之间安全地复制文件。在...

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

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

    使用ssh、scp不需要密码

    ssh 和scp 是 Linux 系统中常用的远程登陆和文件传输工具,但是使用它们需要输入密码,这就带来了不便。为了解决这个问题,文章介绍了一种使用 ssh 和 scp 不需要密码的方法。 密钥对的生成 密钥对是公钥和私钥的...

    Linux下scp无密码上传 下载 文件 目录的方法

    本篇文章将详细介绍如何在Linux下配置`scp`实现无密码上传和下载文件及目录。 ### 配置无密码`scp` 首先,我们需要在本地服务器(A)和远程服务器(B)上生成SSH密钥对。在Linux终端中执行以下命令: ```bash # ...

    Linux下SSH及SCP命令简单使用

    在Linux操作系统中,SSH...总结来说,SSH和SCP是Linux系统中用于远程管理及文件传输的两种基本且重要的工具。通过它们可以方便安全地对远程服务器进行管理以及文件数据的传输,极大地提高了Linux系统管理员的工作效率。

    linux下怎样设置ssh无密码登录.docx

    Linux 下设置 SSH 无密码登录 Linux 是一个流行的开源操作系统, SSH(Secure Shell)是 Linux 中的一种安全协议,允许用户远程登录到 Linux 服务器并执行命令。设置 SSH 无密码登录可以提高 Linux 服务器的安全性...

    linux密码正确 却无法登陆

    在日常运维工作中,我们经常遇到Linux系统登录异常的情况,其中一种常见的问题是用户即便输入了正确的密码也无法成功登录。这种情况可能会出现在图形界面登录过程中,即当用户尝试通过显示器连接并输入正确的用户名...

    linuxssh无密码登陆

    在Linux系统中,SSH无密码登录可以提高自动化运维的效率,避免每次连接时输入密码的繁琐步骤。以下是实现SSH无密码登录的详细步骤: 1. **生成密钥对**: 首先,在需要进行无密码登录的主机上,运行`ssh-keygen -t...

    python执行scp命令拷贝文件及文件夹到远程主机的目录方法

    `SCP_CMD_BASE`中的格式化字符串用于填充具体的用户、密码、IP、端口、本地源和远程目标路径。 然后,`SCP_CMD_BASE`被进一步格式化为实际的`SCP_CMD`,并使用`subprocess.Popen`启动新的进程。`Popen`会创建一个新...

    orabak.rar_linux scp_orabak_oracle_自动备份

    `orabak.rar_linux scp_orabak_oracle_自动备份`这个压缩包文件提供了一套基于Linux环境的Oracle数据库自动备份解决方案,结合了`orabak`工具和`scp`命令,确保数据能够定期备份、压缩,并安全地传输到远程服务器。...

    linux系统scp命令详解

    在本地生成公钥和私钥后,将公钥添加到远程主机的`~/.ssh/authorized_keys`文件中,即可实现无密码登录。 **五、性能优化** `scp`命令支持数据压缩(通过`-C`参数),可以在网络带宽有限的情况下提高传输效率。此外...

    postgres用户下ssh无密码登录

    Postgres用户下SSH无密码登录 SSH(Secure Shell)是一种安全的远程登录协议,用于远程管理Linux系统。 SSH无密码登录是指在两台服务器之间,不需要输入密码便可实现登录的功能。本文将详细介绍Postgres用户下SSH...

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

    ### 在Linux下用scp复制文件无需输入密码的技巧 #### 一、背景介绍 在Linux环境中,SCP(Secure Copy Protocol)是一种基于SSH协议的安全文件传输工具。它允许用户在两台Linux主机之间安全地传输文件。然而,默认...

    使用scp在linux主机之间复制文件目录

    ### 使用scp在Linux主机之间复制文件目录 #### scp命令详解 在Linux环境下,scp命令是一种基于SSH协议的安全文件传输工具,常用于在不同主机间安全地传输文件或目录。scp命令不仅提供了简单易用的接口,而且还具备...

Global site tag (gtag.js) - Google Analytics