ssh怎么让两台主机无密钥登录
答案:1 悬赏:20 手机版
解决时间 2021-11-14 21:55
- 提问者网友:活着好累
- 2021-11-14 07:07
ssh怎么让两台主机无密钥登录
最佳答案
- 五星知识达人网友:野慌
- 2021-11-14 08:14
A B C三台机器上以当前用户运行如下命令生成本主机的公钥和私钥文件:
ssh-keygen -t rsa
上述命令执行后,目录~/.ssh下会出现两个文件:id_rsa和id_rsa.pub。其中,id_rsa.pub为公钥文件。将该文件的内容追加到主机D上~/.ssh目录下的authorized_keys文件中。例如:
A机将id_rsa.pub文件传到D机:
scp ~/.ssh/id_rsa.pub user@HOSTD:/tmp/id_rsa_HOSTA.pub
D机user用户追加authorized_keys文件:
cat /tmp/id_rsa_HOSTA.pub >> ~/.ssh/authorized_keys
接下来,就可以在不输入密码的情况下在远程主机私执行命令了。命令格式如下:
ssh 远程用户名@远程主机名或IP地址 '远程命令或者脚本'
例如:
ssh user@HOSTD 'hostname'
ssh user@HOSTD '/home/user/script/test.sh'
需要特别注意的是:当远程脚本中使用了一些命令识别依赖于环境变量时,该脚本需要在其第一行中包含执行profile文件的命令。比如,在Bash中,该脚本的第一行为:
source ~/.bash_profile
否则,远程脚本可能报错。
ssh-keygen -t rsa
上述命令执行后,目录~/.ssh下会出现两个文件:id_rsa和id_rsa.pub。其中,id_rsa.pub为公钥文件。将该文件的内容追加到主机D上~/.ssh目录下的authorized_keys文件中。例如:
A机将id_rsa.pub文件传到D机:
scp ~/.ssh/id_rsa.pub user@HOSTD:/tmp/id_rsa_HOSTA.pub
D机user用户追加authorized_keys文件:
cat /tmp/id_rsa_HOSTA.pub >> ~/.ssh/authorized_keys
接下来,就可以在不输入密码的情况下在远程主机私执行命令了。命令格式如下:
ssh 远程用户名@远程主机名或IP地址 '远程命令或者脚本'
例如:
ssh user@HOSTD 'hostname'
ssh user@HOSTD '/home/user/script/test.sh'
需要特别注意的是:当远程脚本中使用了一些命令识别依赖于环境变量时,该脚本需要在其第一行中包含执行profile文件的命令。比如,在Bash中,该脚本的第一行为:
source ~/.bash_profile
否则,远程脚本可能报错。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯