關於ROS多機通信的總結 1.0

先貼遠程操作的幾條常用命令,

SCP複製:

scp local_file  remote_username@remote_ip:remote_folder

scp  remote_username@remote_ip:remote_folder  local_file 

這兩條命令是類似的,解釋第一條,

就是從本地路徑複製一份文件到遠端的主機, scp後面操作的是要複製的能內容, 通常遠程

寫成  遠端的用戶的用戶名 + 遠端的主機IP 地址: 遠端主機的文件路徑

scp其實基於ssh的通信協議的。

SSH 遠端登陸:

ssh [email protected]    遠程登陸主機。  ssh 用戶名@主機名/主機ip 。 // eaibot 遠程主機的一個用戶名,可以使用whoami 命令查看當前用戶名。

比如在本地的/etc/hosts文件中添加服務器端的ip和主機名信息, 添加 eaibot  192.168.1.2

然後 ssh遠程登陸可以 寫成  ssh eaibot@eaibot

那麼當樹莓派ssh請求登陸的時候,遠端服務器的會從 /etc/hosts 請求解析,通過eaibot得到對應的ip地址  192.168.1.2 ,那麼每次遠程登陸服務器,

就不用一直輸入 ssh [email protected] 的ip地址了,可以通過 ping eaibot,看能不能解析到對應的IP.,

修改完之後,重啓網絡: sudo /etc/init.d/networking restart

遠程登陸在/etc/hosts 添加客戶端的主機名和 ip只是爲了讓登陸認證更加快速,此時的hosts 就相當於dns的作用,用於解析ip

關於hosts 和hostname 兩個文件的作用和聯繫: 以下爲網絡摘錄:

很多人一提到更改hostname首先就想到修改/etc/hosts文件,認爲hostname的配置文件就是/etc/hosts。其實不是的。hosts文件的作用相當於DNS,提供IP地址與hostname的對應。早期的互聯網計算機少,單機hosts文件裏足夠存放所有聯網計算機。不過隨着互聯網的發展,這就遠遠不夠了。於是就出現了分佈式的DNS系統。由DNS服務器來提供類似的IP地址到域名的對應。Linux系統在向DNS服務器發出域名解析請求之前會查詢/etc/hosts文件,如果裏面有相應的記錄,就會使用hosts裏面的記錄。由此,/etc/hosts於設置hostname是沒直接關係的,僅僅當你要在本機上用新的hostname來映射自己的IP時候纔會用到/etc/hosts文件。兩者沒有必然的聯繫。redhat的hostname的配置文件是/etc/sysconfig/network.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章