百科
SSH 为 Secure Shell 的缩写, 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台都可运行SSH。
SSH分客户端openssh-client和openssh-server。
安装
如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server
sudo apt-get install openssh-server
验证
然后确认sshserver是否启动了:
ps -e |grep ssh
如果看到sshd那说明ssh-server已经启动了。
如果没有则可以这样启动
sudo /etc/init.d/ssh start
配置
ssh-server配置文件位于/etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。
然后重启SSH服务:
sudo /etc/init.d/ssh stop sudo /etc/init.d/ssh start
登录
然后使用以下方式登陆SSH
ssh username@192.168.1.112
注:username为192.168.1.112 机器上的用户,需要输入密码。
断开
exit
自动登录
两种方式
第一种级别(基于密码的安全验证),知道帐号和密码,就可以登录到远程主机,并且所有传输的数据都会被加密。
第二种级别(基于密钥的安全验证),需要依靠密钥,也就是你必须为自己创建一对密钥,并把公有密钥放在需要访问的服务器上。
打开终端,执行以下命令,一路回车到底
ssh-keygen -t rsa -C 'your email@domain.com'
其中,
- -t 指定密钥类型,默认即 rsa ,可以省略
- -C 设置注释文字,比如你的邮箱
将前一步骤生成的公钥~/id_rsa.pub文件,复制到ssh服务器对应用户下的~/.ssh/authorized_keys文件
通用方法
scp ~/.ssh/id_rsa.pub username@hostname:~/ #将公钥文件复制至ssh服务器 ssh username@hostname #使用用户名和密码方式登录至ssh服务器 mkdir .ssh #若.ssh目录已存在,可省略此步 cat id_rsa.pub >> .ssh/authorized_keys #将公钥文件id_rsa.pub文件内容追加到authorized_keys文件
完成以上操作,直接用 ssh usr@ip就可以自动登上服务区
远程拷贝
scp filename usr@ip:~/nagios/
执行远程机器命令
ssh usr@ip cmd
注:如果cmd中出现.或~等,会被认为是本地的文件,例如
远程
ssh slave1@172.16.41.212 sh nagios/check_ProHandle.sh slave1 top -w 3 -c 10
本地
ssh slave1@172.16.41.212 sh ./nagios/check_ProHandle.sh slave1 top -w 3 -c 10