Linux中设置scp免密登陆

Linux中设置scp免密登陆,第1张

假设A,B两台服务器,现在需要从A服务器scp一个文件到B服务器

命令如下:

scp filename root@B_ip:path

这时需要输入B服务器的root的密码

如果想要设置直接scp不输入密码只需将B加入到A服务器的信任中即可

在A服务器中输入

题主你好,

从服务器上下载文件或向服务器上传文件最常用的命令当属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 root@1.1.1.1:/home/hellofriend/

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

-----

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

=====

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

概念:authorized_keys文件中存储着本地系统可以允许远端计算机系统ssh免密码登陆的账号信息。也就是远端的计算机可以通过什么账号及地址不需要输入密码既可以远程登陆本系统。

一、配置完本地ssh-key后,配置本地或者vscode保持长时间连接远程linux服务器,避免每次都密码登录(突然造成远程服务端口占用问题,耽误我好久时间,只因为少执行了( *** 作命令:#cat id_dsa.pub >>~/.ssh/authorized_keys)):

例如:

PC =(ssh)>(9.135.164.160)

9.135.164.160) =(ssh)>git

二、具体 *** 作流程

单向登陆的 *** 作过程(能满足上边的目的):

1、登录A机器

2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub

3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >>~/.ssh/authorized_keys

4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行 #ssh 192.168.20.60 )

双向登陆的 *** 作过程:

1、ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.具体方法如下:

2、两个节点都执行 *** 作:#ssh-keygen -t rsa

然后全部回车,采用默认值.

3、这样生成了一对密钥,存放在用户目录的~/.ssh下。

将公钥考到对方机器的用户目录下,并将其复制到~/.ssh/authorized_keys中( *** 作命令:#cat id_dsa.pub >>~/.ssh/authorized_keys)。

4、设置文件和目录权限:

设置authorized_keys权限

chmod 700 -R .ssh

5、要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8375319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存