linux 之OpenSSH-阿里云开发者社区

开发者社区> 安全> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章