linux scp免密传输、ssh免密登陆方式

 更新时间:2024年06月13日 15:31:34   作者:富士康质检员张全蛋  

这篇文章主要介绍了linux scp免密传输、ssh免密登陆方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

目录
  • 1. SCP命令的使用
  • 2. 配置SSH免密登陆
    • 2.1 在本地虚拟机上生成密钥
    • 2.2 将公钥写入认证文件
    • 2.3 设置权限
    • 2.4 将认证文件发送到需要上传文件的服务器上
    • 2.5 如果目标服务器的.ssh和authorized_key权限不对
  • 3. 免密后发送文件
    • 4. 免密登陆
      • 总结

        1. SCP命令的使用

        scp -p 你想发送的文件 目标主机用户名@IP:目标地址

        演示一下:

        我本地的虚拟机想往我的云服务器上面发送文件,可以看到,我当前处在root根目录下,我们往里面新建一个aaa.txt的文件,并在里面写入一个Hello World文字;

        查看云服务器,此时root目录内一个文件也没有

        接下来,我们使用scp命令,将本地虚拟机的aaa.txt文件上传到云服务器的/root目录内,这里需要输入一下云服务器的密码

        我们来查看一下云服务内部此时有没有接收到这个文件

        2. 配置SSH免密登陆

        配置完免密登陆后,我们互传文件就不需要在输入密码了

        2.1 在本地虚拟机上生成密钥

        ssh-keygen -t rsa

        命令敲完之后,点击三次回车,可以在根目录下的.ssh目录中看到几个文件

        • id_rsa是私钥文件
        • id_rsa.pub是公钥文件
        • know_hosts:有的人可能没有,有的人可能会有,这个是我们刚才传文件的时候生成的。

        2.2 将公钥写入认证文件

        cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

        2.3 设置权限

        chmod 700 ~/.ssh
        chmod 600 ~/.ssh/authorized_keys

        2.4 将认证文件发送到需要上传文件的服务器上

        我这里上传到我的云服务器上了

        scp -p authorized_keys root@目标IP:/root/.ssh/authorized_keys

        上面三步可以直接通过下面命令来实现,上面的比较好理解

        ssh-copy-id 目标IP

        2.5 如果目标服务器的.ssh和authorized_key权限不对

        需要把目标服务器的权限也给配一下,这里配置的目的是使这些文件能被调用到。

        3. 免密后发送文件

        再次传送文件试试,可以看到,这次发送文件,直接就发送成功了,不需要输入密码了

        查看一下目标服务器

        4. 免密登陆

        ssh root@目标服务器IP

        包括执行远程命令

        ssh root@目标服务器IP <<EOF
        cd /root
        touch ccc.txt
        EOF

        发现全部都不需要登陆操作了,直接就可以执行了。

        总结

        以上为个人经验,希望能给大家一个参考,也希望大家多多支持小闻网。

        声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。