ssh 避免首次登录输入yes

ssh 避免首次登录输入yes,第1张

ssh初次登录某个主机时,出现如下提示

Are you sure you want to continue connecting (yes/no)?

1

如何去掉?

打开/etc/ssh/ssh_config,修改以下配置项

StrictHostKeyChecking no

当出现Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 警告的时候,恭喜你,你已经离成功很近了。

远程主机这里设为slave2,用户为Hadoop。

本地主机设为slave1

以下都是在远程主机slave2上的配置,使得slave1可以免密码连接到slave2上。如果想免密码互联,原理一样的,在slave1上也这么配置即可!

1)首先:配置ssh服务器配置文件

在root 用户下才能配置。

vi /etc/ssh/sshd_config

权限设为no:

如果前面有# 号,将#号去掉,之后将yes修改为no。

修改之后为:

权限设为yes:

2)重启sshd服务

正常情况下应该是Active:active(running)

3)修改文件夹以及文件的权限。

4)在slave1上进行测试

ssh slave2

上面就是完整的解决这个问题的办法!

总结:出现这种警告,我觉得最终的原因是文件夹以及文件的读写权限的问题。

建议首先修改/home/Hadoop/.ssh以及/home/Hadoop/.ssh/authorized_keys的权限。

注意,还有可能是禁用了root登录出现这种情况。

当切换到普通用户—Hadoop之后就又能登录了。

即使在/etc/ssh/sshd_config 中配置了PermitRootLogin 为yes,还是不能用slave1的root用户直接无密码连接到slave2上。只要切换到会普通用户就可以了,不影响使用。毕竟root用户在Linux系统中如此特殊和重要。

ssh登录某台机器的时候,如果这台机器从来没有使用ssh登录过(严格来说应该是~/.ssh/known_hosts文件中没有这台机器的HostKey),那么,ssh会产生一个提示,询问是否需要添加这台机器的HostKey,回答yes/no即可,虽然只要不删除~/.ssh/known_hosts文件中该机器的HostKey,则这个提示将不会出现,但是如果我们需要书写一些自动化脚本的时候,这就会成为问题。

man了一下ssh_config,发现有解决的办法:创建文件~/.ssh/config,添加一行:

StrictHostKeyChecking no

即可。以后ssh将会自动添加HostKey到~/.ssh/known_hosts,不会再询问。默认该项配置是ask,所以会询问。如果配置成yes,则每次必须手动将hostkey添加到~/.ssh/known_hosts文件中,这是最严格的配置。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/233072.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存