ssh命令使用
程序员文章站
2024-01-09 09:42:10
ssh是什么 ssh是一种通信协议,用于与另一台计算机通信,有多个实现版本,openssh属于开源实现 中间人攻击 口令登录 登录成功后 公/私钥对 公钥登录 失败解决 ......
ssh是什么
ssh是一种通信协议,用于与另一台计算机通信,有多个实现版本,openssh属于开源实现
usage: ssh [-b bind_interface] [-b bind_address] [-c cipher_spec] [-d [bind_address:]port] [-e log_file] [-e escape_char] [-f configfile] [-i pkcs11] [-i identity_file] [-j [user@]host[:port]] [-l address] [-l login_name] [-m mac_spec] [-o ctl_cmd] [-o option] [-p port] [-q query_option] [-r address] [-s ctl_path] [-w host:port] [-w local_tun[:remote_tun]] destination [command] //root账户登录 ssh xxx.xxx.xxx //指定用户 -l ssh root@xxx.xxx.xxx //指定端口 -p ssh -p 123 xxx.xxx.xxx or ssh -l root -p 123 xxx.xxx.xxx or ssh -p 123 root@xxx.xxx.xxx
中间人攻击
口令登录
$ ssh user@host the authenticity of host 'host (xxx.xxx.xxx.xxx)' can't be established. rsa key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d. are you sure you want to continue connecting (yes/no)? //基于中间人攻击问题,所以第一次登录无法确认主机安全性,可以根据rsa加密提供的key与远程主机的公钥进行对比
登录成功后
$ cat ~/.ssh/known_hosts //用户系统会自动把当前公钥存起来 //下次连接这台主机时就知道这台主机的身份了,跳过警告部分
公/私钥对
公钥和私钥是成对的,它们互相解密。 公钥加密,私钥解密。 私钥数字签名,公钥验证。
公钥登录
$ ssh-keygen //一路回车在~/.ssh/下生成2把钥匙 $ ssh-copy-id user@host //将公钥传到主机 //公钥被放在 ~/.ssh/authorized_keys
失败解决
// ubuntu系统 service ssh restart // debian系统 /etc/init.d/ssh restart