SSH使用
来源:互联网 发布:linux mv移动文件命令 编辑:程序博客网 时间:2024/05/14 03:16
1 SSH介绍
SSH的全称是Secure SHell.通过使用SSH,你可以将所有传输的数据加密.这样"中间人"这种方式就不可能实现了.而且也能够防止DNS和IP欺骗.还有额外的好处就是数据是经过压缩的,传输速度块.SSH具有很多功能,可以作为TELNET的替代品,也可以为FTP,POP甚至PPP提供一个安全"通道.
SSH有两个不兼容的版本,1.x和2.x;使用SSH2.x的客户端是不能够连接到SSH1.x上的.OpenSSH同时支持这两种版本.
SSH的安全验证机制
SSH的安全验证从客户端来看,提供两种级别的安全验证.
1>. >>>>基于口令的安全验证<<<<
只要你知道自己的账号和口令,就可以登录到远程主机.所有传输的数据会被加密,但不能保证你正在连接的服务器就是你想连接的服务器.可能会有别的服务器正在冒充真的服务器,也就是会受到"中间人"的攻击.
2>. >>>>基于密钥的安全验证<<<<
需要依靠密钥,也就是你必须为自己创建一对密钥,并将公钥放在需要需要访问的服务器上.如果你连接到SSH服务器,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证.服务器收到请求后,先在该服务器的home目录下寻找你的公用密钥,然后把它和你发来的公用密钥进行比较.如果两个密钥一致,服务器就用公用密钥加密"质询"并把它发给客户端.客户端收到"质询"后就可以用你的私人密钥解密在将其发给服务器.这种方式必须知道自己的密钥口令.
2 安装测试OpenSSH
sudo apt-get install openssh-client ;安装SSH客户端sudo apt-get install openssh-server ;安装SSH服务器端sudo /etc/init.d/ssh restart ;启动SSH服务netstat -tlp|grep ssh ;测试SSH服务,找到ssh即可说明SSH配置成功.</span>
3 使用ssh第一次远程登陆
ssh -l username hostIP -p port
eg: ssh -l cubie 192.168.3.194 -p 3600 注:当ssh服务默认端口22时可以不用 添加-p 3600
第一次连接显示如下信息:
The authenticity of host '192.168.3.194 (192.168.3.19)' can't be established.RSA key fingerprint is e1:ef:04:1c:37:c4:f7:c1:98:1d:a5:0d:f4:ca:50:af.Are you sure you want to continue connecting (yes/no)? yes ;</span>
SSH告知用户,这个主机不能识别,这时键入"yes",SSH就会将相关信息,写入"~/.ssh/know_hosts"中,再次访问,就不会有这些信息了.然后输入完口令,就可以登录到主机了
4 退出ssh
只需要exit命令就可以关闭ssh
5 ssh配置
SSH安装的时候,没有默认的用户配置文件,不过我们可以自己加.如果你要登陆192.168.3.11上的linux用户,你可以键入"ssh -l linux 192.168.3.11"下面介绍一下简化这个命令的方法.
在~(用户家目录)下建立.ssh目录,且在.ssh目录下建立文件config,编写一下内容:
Host cubieHostName 192.168.3.1Uer CubiePort 3600 #默认为22可不写</span>
在命令行运行 ssh cubie 就可以登陆192.168.3.11:cubie 了
6 用scp命令拷贝文件和目录
SSH提供了一些命令和shell用来登录远程服务器.在默认情况下,不允许你拷贝文件,但还是提供了一个"scp"命令,使用方法如下:
//本地文件复制到远程scp FileName RemoteUserName@RemoteHostIp:RemoteFilescp FileName RemoteHostIp:RemoteFolderscp FileName RemoteHostIp:RemoteFile//本地目录复制到远程scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolderscp -r FolderName RemoteHostIp:RemoteFolder//远程文件复制到本地scp RemoteUserName@RemoteHostIp:RemoteFile FileNamescp RemoteHostIp:RemoteFolder FileNamescp RemoteHostIp:RemoteFile FileName//远程目录复制到本地scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderNamescp -r RemoteHostIp:RemoteFolder FolderNameeg:scp -P 3600 FileName cubie@192.168.3.11:/tmp
7 SSH密钥的创建
生成和分发SSH密钥,过程如下
/.ssh# ssh-keygen ;生成密钥Generating public/private rsa key pair.Enter file in which to save the key (/home/birdy/.ssh/id_rsa): ;输入回车Enter passphrase (empty for no passphrase): ;输入密码Enter same passphrase again: ;再次输入Your identification has been saved in /home/birdy/.ssh/id_rsa.;保存为id_rsaYour public key has been saved in /home/birdy/.ssh/id_rsa.pub.;保存为id_rsa.pubThe key fingerprint is:;[内容]The key's randomart image is:;[内容]</span>
/.ssh# ssh-keygen -d ;如果是SSH2.x用该命令生成Generating public/private dsa key pair.Enter file in which to save the key (/home/birdy/.ssh/id_dsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/birdy/.ssh/id_dsa.Your public key has been saved in /home/birdy/.ssh/id_dsa.pub.The key fingerprint is:;[内容]The key's randomart image is:;[内容]birdy@birdy-desktop:~/.ssh$
为了防止别人知道你的密钥,定期的重新更新并分发密钥,创建好密钥后,你的主目录下应该有下面的文件,且
私钥的权限为'-rw-------',公钥的权限为'-rw-r--r--'否则你的SSH就不会工作.
而在你不再会去使用SSH服务的时候(比如,你换了一台主机),记得要删除他们.
如果你创建的密钥文件不再主目录下的.ssh目录下,要将他们拷贝进去并保证正确的文件权限
birdy@birdy-desktop:~/.ssh$ ll总用量 20-rw------- 1 birdy birdy 736 2010-10-15 13:44 id_dsa-rw-r--r-- 1 birdy birdy 609 2010-10-15 13:44 id_dsa.pub-rw------- 1 birdy birdy 1743 2010-10-15 13:44 id_rsa-rw-r--r-- 1 birdy birdy 401 2010-10-15 13:44 id_rsa.pub-rw-r--r-- 1 birdy birdy 442 2010-10-15 10:55 known_hosts
本文转自
http://blog.chinaunix.net/uid-23399063-id-70131.html
参考文章
如何实现 ssh 无密码登录
补充资料
使用ssh keyssh key 方式登录远程服务器
我们需要把id_rsa.pub 拷贝到远程服务器的~/.ssh下面,并改名为authorized_keys,这样我们就可以使用key的方式登录了
#ssh git@your.server.comEnter passphrase for key '~/.ssh/id_rsa'这样我们输入shh key的密码就可以登录了。
参考
说说Git的ssh key
- SSH使用
- SSH使用
- SSH使用
- SSH使用
- SSH使用
- 使用ssh-agent
- SSH命令使用技巧
- SSH中的Aop使用
- ssh的基本使用
- SSH命令使用技巧
- ssh 客户端使用代理
- ubuntu下ssh使用
- SSH使用注意事项
- ssh中泛型的使用
- Ubuntu SSH的使用
- ssh使用中文
- Dwr结合SSH使用
- SSH命令使用技巧
- Android图片优化和APK优化
- 找不到uvc_camera package的uvc_camera type 问题
- 第一章[绪论]学习心得
- shell实例浅谈之五解决网络中DOS攻击的方法
- Java 堆和栈
- SSH使用
- 使用ggplot2画图
- 解决Windows8系统磁盘占用太多100%或99%
- 俄国和任何挺好听
- 2014秋C++ 第7周项目 数据类型和表达式
- 打开页面最大化
- 代码混淆详解
- 二进制位运算(与、或、异或、取反)
- 图像特征匹配