通过主机名查看IP
host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 14.215.177.38
www.a.shifen.com has address 14.215.177.39
远程拷贝
从本机拷贝数据到远程服务器上
必须知道对方的账户和密码,且具备相应的权限 语法:
scp [-r] [path]/file | dir {UserUserName}@Host_IP:/path
例如
scp /root/install.log root@192.168.89.128:/home
注意:第一次访问该服务器,会询问是否要继续连接,每次访问都需要输入远程服务器的密码
从远程服务器上拷贝数据到本机
scp {UserName}@Host_IP:/path/file /path
scp root@192.168.89.128:/home/install.log /root
登录远程服务器
ssh {UserName}@Host_IP
ssh root@192.168.89.128
exit
ssh默认登录下端口是22,如果在访问的是没有这么端口,就会按照22访问,如果远程服务器提供的端口不是22,那么就需指定远程服务器的端口
ssh [-p port] {UserName}@Host_IP
SSH免密登录
免密登录使用的是RSA算法
RSA算法本身是一种非对称加密算法,会生成公钥和私钥
公钥 | 使用公钥对内容进行加密 |
---|
私钥 | 持有私钥的PC才能正常访问公钥加密的内容 |
linux生成公钥和私钥的时候支持对私钥证书文件添加密码
SSH证书使用场景
场景一:只是单纯的使用证书来登录服务器 使用证书的登录方式可以避免密码忘记、泄漏问题。使用证书登录服务器的方式也是服务器加固(服务器相关问题)的方式 服务器可以设置不允许使用密码进行远程登录。只允许证书的方式登录。 证书本身支持加密,就算证书丢失,在不知道证书密码的情况下,证书属于无效文件。 场景二: 集群使用证书进行免密登录。 因为但凡设计到集群的时候,一般都不会是小数目的服务器数量。众多的服务器之间进行互相访问,频繁输入密码的事情将会成为开发师的噩梦。 所以,使用证书管理集群的时候,可以免除集群中的服务器互相访问时,工程师手工输入密码问题。
证书生成
ssh -keygen
id_rsa | 私钥 | 执行证书生成目录才会有 |
---|
id_rsa.pub | 公钥 | 执行证书生成命令 | known_hosts | 曾经访问过的服务器信息 | 每次ssh、scp-copy-id到远程服务器时就会保存到此文件中,以后在此访问服务器时就不会再提示您要再次访问吗 | authorized_keys | 记录来放服务器的公钥文件内容 | 此文件会记录访问本机的远程服务器的公钥证书内容,只有对应的私钥才能进行验证 |
证书注册
ssh-copy-id root@192.168.115.129
执行此命令,会要求输入远程服务器对应的账户密码。这就是向远程服务器注册本机的id_rsa.pub文件内容(公钥)。只有本机上与公钥文件共同生成的私钥才能进行免密登录。
|