sshwatcher: Don't set host name.
I guess setting host name unconditionally was a bad idea. Try to do
something non-intrusive like `uname -a`.
BUG=None
TEST=go run sshwatcher.go
# run against a non-writable-root system.
Change-Id: I828d7ceb9d6a70b5150046bca8ce1721eed71b08
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/3201538
Tested-by: Junichi Uekawa <uekawa@chromium.org>
Reviewed-by: Satoshi Niwa <niwa@chromium.org>
Commit-Queue: Junichi Uekawa <uekawa@chromium.org>
diff --git a/contrib/sshwatcher/sshwatcher.go b/contrib/sshwatcher/sshwatcher.go
index d953ee6..c7bb4fa 100644
--- a/contrib/sshwatcher/sshwatcher.go
+++ b/contrib/sshwatcher/sshwatcher.go
@@ -122,8 +122,8 @@
for _, param := range params {
// Try connecting once. On the way set host name to what you would expect instead of localhost.
log.Printf("Try pre-connecting %v", param.host)
- if sshResult, err := exec.Command("ssh", param.host, "hostname", param.host).CombinedOutput(); err != nil {
- log.Fatalf("host[%v] message[%v] err[%v]: can't set host name on remote host", param.host, string(sshResult), err)
+ if sshResult, err := exec.Command("ssh", param.host, "uname", "-a").CombinedOutput(); err != nil {
+ log.Fatalf("host[%v] message[%v] err[%v]: can't get uname -a on remote host", param.host, string(sshResult), err)
}
go sshConnectionLoop(param, message)
}