Linux下SCP无需密码访问的方法 (linux开启scp免密码)

在Linux系统中,SCP是一种非常常用的文件传输工具。它可以在不同的主机之间传输文件,而且非常方便,但是在使用SCP的时候,有时我们需要频繁地输入密码,这无疑是一种很麻烦的事情。那么有没有一种方法可以实现SCP无需密码访问呢?本篇文章将为您介绍如何在Linux中实现SCP无需密码访问的方法,让您的工作变得更加轻松和高效。

一、生成SSH Key

为了提高传输安全性,在Linux中传输文件时,我们通常使用SSH加密,在SSH加密中,我们可以通过SSH Key的方式来进行认证,从而实现SCP无需密码访问。因此,我们首先需要在本地电脑生成一个SSH Key,方法如下:

1. 打开终端,输入如下命令:

“`

ssh-keygen

“`

2. 根据提示,依次输入密钥所在目录、密码等信息,一路回车即可。在最后生成的文件中,公钥文件名为id_rsa.pub,私钥文件名为id_rsa。

二、上传本地公钥到远程主机

1. 在生成SSH Key的过程中,我们已经在本地电脑中生成了一个公钥文件id_rsa.pub,现在我们需要将其上传到远程主机中。假设远程主机IP为192.168.0.100,上传方法如下:

“`

ssh-copy-id user@192.168.0.100

“`

其中user是远程主机上的用户名,执行该命令后,系统会要求输入该用户的密码,输入密码后即可自动将本地公钥上传到远程主机中。

2. 如果tip提示您没有ssh-copy-id这个命令,可以手动将id_rsa.pub文件的内容复制到目标服务器的~/.ssh/authorized_keys文件中:

“`

cat ~/.ssh/id_rsa.pub | ssh user@192.168.0.100 “mkdir -p ~/.ssh;cat >> ~/.ssh/authorized_keys”

“`

其中user是远程主机上的用户名,执行该命令后,系统会要求输入该用户的密码,输入密码后即可将本地公钥手动复制到远程主机中。

三、测试SCP无需密码访问

上传完本地公钥到远程主机后,我们就可以测试SCP无需密码访问了。假设我们现在需要将本地文件/home/user/file.txt上传到远程主机上的/home/user目录下,命令如下:

“`

scp /home/user/file.txt user@192.168.0.100:/home/user

“`

执行该命令后,系统会要求输入该用户的密码,输入密码后文件即可上传到远程主机上。此时,如果再次执行该命令,系统就不再要求输入密码,直接上传即可,这就是SCP无需密码访问的方法。

通过以上的介绍,我们可以看出,SCP无需密码访问的方法实现起来非常简单,只需要在本地电脑生成一个SSH Key,并将公钥上传到远程主机即可。虽然SCP已经是一种非常方便的文件传输工具,但是通过以上方法实现SCP无需密码访问,可以使工作效率得到进一步提高,非常值得我们去尝试和使用。

相关问题拓展阅读:

linux服务器命令scp

题主你好,

从服务器上下载文件或向服务器上传文件最常用的命令当属scp了,使用方法也简单.

一.先说题主问题中的情况,即

从服务器上往回拿文件

(官话一点的表达:从服务器上将文件下载到本告芦地):

  scp

服务器用户名

@

服务器ip

:文

件的绝对路径

要将文件保存到本地哪

举例来说,我的

服务器地址

是1.1.1.1,

用户名

为hellofriend,并且在服务器上的

/home/hellofriend/下

有个闷友旅

名为ok的文件

,则我想将服务器上的这个ok文件

下载到本地的根目录

,/,下用到的命令为:

  scp

hellofriend

@

1.1.1.1

:

/home/hellofriend/ok

/

命令执行完成后,会提示你输入hellofriend这个用户的密码,密码输入完成后,回车,正常情况下,你在根目录下就能看到ok文件了.

*.新手注意事项:

    a.ip地址和文件路径中间有个

冒号

;

    b.文件路径一般用

绝对路径

,即从根开始找;

    c.不要忘了写你要将

文件保存在本地的哪里

;

—–

二.再说如何将本地文件上传到服务器蚂凳,这个不细说,命令和上面的差不多:

scp 本地的文件路径 服务器用户名@服务器ip:要保存在服务器的哪个位置

如我要将本地根目录下的ok文件上传到1.1.1.1这台服务器的/home/hellofriend目录下,则命令为:

    scp /ok :/home/hellofriend/

执行命令后,输入密码,回车,正常情况下文件就上传成功了.

—–

写在最后: 上面命令写的其实相对死板一些,其实还有一些小技巧,题主用的多了就能了解了,这里先不过多展开.

=====

希望可以帮到题主, 欢迎追问.

如何通过linux ssh远程linux不用输入密码登入

这是不可能的

    可以设置ssh密钥实现自动登录。

    1.创建ssh密钥.

    2.将生成的公钥传送到你要登录的远程主机,并将其加入文件  ~/.ssh/authorized_keys

    具体步骤如下:

    1.在你的主机生成密钥 ssh-keygen

    

 2.查看下生成的密钥   注意路径

3.把公钥id_rsa.pub添加到远程服务器(你要连接的)~/.ssh/authorized_keys里。

 先用scp把公钥拷过去。

然后把公钥导入authorized_keys

4.测试。

测试已经OK。但是我的公钥是设置了密码的,所以这里还是提示输入公钥密码。如果

不设置公钥密码就不需要密码了。

5.注意事项。

如果没有.ssh文件,请ssh 192.168.0.188 (IP可以SSH的)  随便执行一次会自动生成

如果没有authorized_keys  请touch一个。  touch authorized_keys  

修改下权限  chmod  authorized_keys 

更改/etc/ssh/sshd_config 尝试下。

另一种就是 用公钥

linux开启scp免密码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux开启scp免密码,Linux下SCP无需密码访问的方法,linux服务器命令scp,如何通过linux ssh远程linux不用输入密码登入的信息别忘了在本站进行查找喔。


数据运维技术 » Linux下SCP无需密码访问的方法 (linux开启scp免密码)