位置: 编程技术 - 正文
示例:A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为...;A和B的系统都是Linux
在A上运行命令:# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)# ssh root@... "mkdir .ssh; chmod .ssh" (需要输入密码)# scp ~/.ssh/id_rsa.pub root@...:.ssh/id_rsa.pub (需要输入密码)
在B上的命令:# touch /root/.ssh/authorized_keys2 (如果已经存在这个文件, 跳过这条)# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys2 (将id_rsa.pub的内容追加到 authorized_keys2 中)
回到A机器:# ssh root@... (不需要密码, 登录成功)
如果能保护好自己的私钥, 这种方法相对在shell上输入密码, 要安全一些
深入学习
理解登录过程首先 ssh-keygen -t rsa 命令生成了一个密钥和一个公钥, 而且密钥可以设置自己的密码,可以把密钥理解成一把钥匙, 公钥理解成这把钥匙对应的锁头,把锁头(公钥)放到想要控制的server上, 锁住server, 只有拥有钥匙(密钥)的人, 才能打开锁头, 进入server并控制,而对于拥有这把钥匙的人, 必需得知道钥匙本身的密码,才能使用这把钥匙 (除非这把钥匙没设置密码), 这样就可以防止钥匙被人配了(私钥被人复制)。
当然, 这种例子只是方便理解罢了,拥有root密码的人当然是不会被锁住的, 而且不一定只有一把锁(公钥), 但如果任何一把锁, 被人用其对应的钥匙(私钥)打开了, server就可以被那个人控制了所以说, 只要你曾经知道server的root密码, 并将有root身份的公钥放到上面, 就可以用这个公钥对应的私钥"打开" server, 再以root的身分登录, 即使现在root密码已经更改!
如果想控制n个机器, 那就需要n对钥匙(密钥和公钥), ssh-keygen 命令可以随意更改钥匙对的名字, 比如:[root@wwy .ssh]# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa_.........
这样私钥和公钥的名字分别就是:id_rsa_... 和 id_rsa_....pub然后将 id_rsa_....pub 文件的内容, 追加到sever的 ~/.ssh/authorized_keys2 文件中。
最后, 在本地用ssh命令的 -i 参数指定本地密钥, 并登录:# ssh -i /root/.ssh/id_rsa_... ...
如果密钥设置了密码, 就用密钥的密码登录, 没设密码, 就直接登录进去了
scp也是一样的如:scp -i /root/.ssh/id_rsa./xxx ...:/home/wwy/bak
推荐整理分享ssh,scp自动登陆的实现方法,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
ssh自动登录的4种实现方法 1.自动ssh/scp方法A为本地主机(即用于控制其他主机的机器);B为远程主机(即被控制的机器Server),假如ip为...;A和B的系统都是Linux在A上运行命令:#ssh-ke
ssh(ssh-keygen)配置免输入密码登录远程主机的方法 环境:本地主机:haeth0:..1.//对外IP地址远程主机:haeth0:..1.//对外IP地址本地主机ha配置:[root@ha/]#cd/etc/ssh[root@hassh]#ssh-keygen-trsa-N""(
ssh expect自动登录的脚本代码 实现:ssh远程登录,每次都要指定一堆用户名和密码,现要求实现自动登录。登录流程:本地A先登录到B再由B登录到最终的C如下:#!/usr/bin/expect-fsettimeou
标签: ssh,scp自动登陆的实现方法
本文链接地址:https://www.jiuchutong.com/biancheng/376783.html 转载请保留说明!友情链接: 武汉网站建设