閱讀472 返回首頁    go 阿裏雲 go 技術社區[雲棲]


linux 之OpenSSH

1、簡介
OpenSSH是實現遠程連接主機,並實現遠程操作主機的一套SSH通信協議的實現,基於CS架構。
Linux上的客戶端有ssh scp sftp
Linux的服務器端程序為 sshd
2、配置文件
客戶端配置文件在/etc/ssh/ssh_config
服務端配置文件在/etc/ssh/sshd_config
3、ssh使用
格式 ssh [userId@]host ["COMMAND"]

[userId@] 在linux上使用ssh時可以省略,省略的情況默認使用當前係統登陸的用戶作為userId請求連接遠程host。
[command] 允許用戶類似使用  su - userId -c COMMAND一樣 ,隻連接執行命令

其他參數:
-l userId   指明要連接的用戶,等同於[userId@]
-p port 指明連接遠程服務器的ssh的端口號,默認22

4、SSH基於秘鑰方式登陸
原理:在ssh客戶端本地生成一對公鑰秘鑰,並把公鑰上傳至要連接的遠程服務器的某用戶的家目錄下,在通過 ssh host的方式連接遠程主機時,就無需輸入用戶名密碼,通過公鑰秘鑰方式進行認證。

具體實現:

1.生成秘鑰對
ssh-keygen -t rsa
-t 指明加密類型
輸入指定輸出文件的路徑,不寫默認是當前用戶的家目錄下.ssh文件夾下,加密操作可以設定密碼,以解密時用到,生成兩個文件,一個id_rsa 和id_rsa_pub 公鑰,默認在.ssh目錄下
2.上傳公鑰到遠程服務器對應的用戶家目錄下
ssh_copy_id -i file [userId@]host
-i 指定要上傳的公鑰文件
例如```
ssh_copy_id -i ~/.ssh/id_rsa_pub root@172.16.0.1

上傳後遠程主機root下有個.ssh文件夾,其中有一個authorized_keys就是公鑰,下次客戶端ssh連接時可以不需要輸入用戶密碼

最後更新:2017-05-26 00:02:24

  上一篇:go  python 基礎(一)字典
  下一篇:go  dubbo+zookeeper+springmvc+mybatis+shiro+redis分布式大型互聯網企業架構