标签:ssh
一、SSH简介
SSH(全称 Secure Shell)是一种加密的网络协议。使用该协议的数据将被加密,如果在传输中间数据泄漏,也可以确保没有人能读取出有用信息。要使用 SSH,目标机器应该安装 SSH 服务端应用程序,因为 SSH 是基于客户-服务模式的。 当你想安全的远程连接到主机,可中间的网络(比如因特网)并不安全,通常这种情况下就会使用 SSH。
二、安装 SSH
基于 Debian / Ubuntu 的系统 :
$ sudo apt-get install openssh-client
$ sudo apt-get install openssh-server
[root@localhost ~]# yum install openssh-server openssh-clients
SSH 一旦安装上,我们就可以在终端下输入 ssh 来检查下安装的是否正常。
[root@localhost ~]# 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]]
[user@]hostname [command]
三、SSH命令注解
[root@localhost ~]# ssh 192.168.2.106 ==》直接登录远程服务器192.168.2.106
[root@localhost ~]# ssh -l jianghua 192.168.2.106 或
[root@localhost ~]# ssh jianghua@192.168.2.106 ==》指定登录远程服务器的用户名。
[root@localhost ~]$ shh 192.168.2.106 -p 22 ==》指定登录远程服务器的端口号。
[root@localhost ~]$ ssh -b 192.168.2.102 jianghua@192.168.2.106 ==>由于本机有多个网卡,指定有2.102这个网卡IP登录过程服务器。
[root@localhost ~]# ssh -v 192.168.2.106 ==》显示登录远程服务器192.168.2.106,连接信息。
[root@localhost ~]# ssh -c 192.168.2.106 ==》登录远程服务器后,在本地和远程传输数据时,数据会被压缩。
[root@localhost ~]# ssh -F /home/jianghua/my_ssh_config 192.168.2.106 ==》指定特定用户的SSH配置文件登录到远程服务器。
[root@localhost ~]#ssh -N -L2001:localhost:80 somemachine ==》将远程服务器80端口和本地2001端口做隧道绑定,实现在浏览器中输入http://localhost:2001可以访问网站。
[root@localhost ~]#ssh user@server cat /path/to/reemotefile | diff /path/to/localfile - ==>将远程服务器上指定的文件和本地文件做比较。
10.[root@localhost ~]#ssh user@server 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
标签:ssh
原文地址:http://hualsj88.blog.51cto.com/887602/1700143