一、SSH简介
SSH(全称 Secure Shell)是一种加密的网络协议。使用该协议的数据将被加密,如果在传输中间数据泄漏,也可以确保没有人能读取出有用信息。要使用 SSH,目标机器应该安装 SSH 服务端应用程序,因为 SSH 是基于客户-服务模式的。 当你想安全的远程连接到主机,可中间的网络(比如因特网)并不安全,通常这种情况下就会使用 SSH。
二、安装 SSH
基于 Debian / Ubuntu 的系统 :
安装 ssh-client
- $ sudo apt-get install openssh-client
安装 ssh-server
- $ sudo apt-get install openssh-server
基于 RedHat / CentOS 的系统 :
- [[email protected] ~]# yum install openssh-server openssh-clients
SSH 一旦安装上,我们就可以在终端下输入 ssh 来检查下安装的是否正常。
[[email protected] ~]# ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]]
[[email protected]]hostname [command]
三、SSH命令注解
[[email protected] ~]# ssh 192.168.2.106 ==》直接登录远程服务器192.168.2.106
- [[email protected] ~]# ssh -l jianghua 192.168.2.106 或
[[email protected] ~]# ssh [email protected] ==》指定登录远程服务器的用户名。
- [[email protected] ~]$ shh 192.168.2.106 -p 22 ==》指定登录远程服务器的端口号。
- [[email protected] ~]$ ssh -b 192.168.2.102 [email protected]192.168.2.106 ==>由于本机有多个网卡,指定有2.102这个网卡IP登录过程服务器。
- [[email protected] ~]# ssh -v 192.168.2.106 ==》显示登录远程服务器192.168.2.106,连接信息。
- [[email protected] ~]# ssh -c 192.168.2.106 ==》登录远程服务器后,在本地和远程传输数据时,数据会被压缩。
- [[email protected] ~]# ssh -F /home/jianghua/my_ssh_config 192.168.2.106 ==》指定特定用户的SSH配置文件登录到远程服务器。
- [[email protected] ~]#ssh -N -L2001:localhost:80 somemachine ==》将远程服务器80端口和本地2001端口做隧道绑定,实现在浏览器中输入http://localhost:2001可以访问网站。
- [[email protected] ~]#ssh [email protected] cat /path/to/reemotefile | diff /path/to/localfile - ==>将远程服务器上指定的文件和本地文件做比较。
10.[[email protected] ~]#ssh [email protected] command ==》在远程服务器上执行命令。
四、两台机器访问不需要密码设置
假设 A 为客户机器,B为服务器,现在要让A机器ssh登录B机器无需输入密码。
做法:
1、登录A机器
2、执行:ssh-keygen -t [rsa|dsa] 会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、将 .pub 文件复制到B机器的 .ssh 目录。(ssh-copy-id -i ~/.ssh/id_rsa.pub user@B)
4、 执行:cat id_dsa.pub >> ~/.ssh/authorized_keys
5、验证登录:ssh B