共计 1028 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | 有一个项目要求是在服务器中写一个 Shell 脚本,主要用来在机器 B 中定时备份机器 A 中的一些文件。现有 scp 和 ssh 两个玩具。别的还真没有其他什么东西了。那就想直接用 scp 去远程复制好了,但是 scp 复制的时候还要输入密码。那就搞搞让使用 scp 的时候不用输入密码好了。 |
以下进入正文
忽略 ssh 安装 scp 安装过程。默认认为当前机器与远程机器含有完整的 ssh,scp 功能
首先在机器 B 中使用 ssh-keygen -t rsa 命令(想来玩 git 的童鞋应该知道吧~)
[hart02@hart02 .ssh]$ ssh-keygen -t rsa
Enter file in which to save the key (/home/hart02/.ssh/id_rsa)
直接按 enter 键
Enter passphrase (empty for no passphrase):
意思是说请输入密码,如果不输入则为没有密码。当然,我们使用的 enter 键~ 之后就是重复输入密码了。两次一定要保持一致哦~,如果第一次不输入,第二次也还要输入哦~
注:机器已经生成过了,所以此时提示说
/home/hart02/.ssh/id_rsa already exists.
输入完成后就会出现这样的界面(此界面是在测试机器上重新生成的截图, 几个重点的东西已经着重标志出来了)
从上图中我们可以了解到生成的公私钥存放在 /user/.ssh/ 目录下 user 为当前登陆用户家目录。
下图中 authorized_keys 不会自动生成。在当前机器 B 中暂时没有什么用处
查看.ssh 目录下文件
现在我们在机器 A 中进行操作,其操作如上述步骤一致。当生成完毕时,我们 touch 一个文件,文件名为 authorized_keys
重要的来了~~:
在机器 B 中使用
cat id_rsa.pub
查看一下公钥,然后复制这一串东西~
在机器 A 中,
vim authorized_keys
把复制的东西粘贴到 A 机器中的这个文件里面。
ESC -> :wq! -> enter 保存退出
cat authorized_keys
确保写入成功
chmod 600 authorized_keys
修改文件权限
以上步骤做完之后一定要做一下
/etc/init.d/sshd restart
把 ssh 服务重新启动一下。
至此。ssh 免密登陆配置完成。说的好听,不如看看效果:
OK, 下章来做 scp 远程复制脚本的说明~
正文完
星哥玩云-微信公众号