SSH日常用法小例
现代社会,熟练使用ssh是一项必不可少的技能,下面是我日常使用ssh的一些小总结。
注意:测试全部是在linux系统上进行,如果你使用windows系统,可以好好研究putty和xshell的各类选项,一定会找到实现的办法!
1. 最普通登陆方法,
ssh -l root 192.168.1.200
即:ssh username@hostIPorName 或 ssh -l username hostIPorName
2. 使用主机别名,简化登陆
修改~/.ssh/config文件(如没有该文件,创建之),添加如下内容:
hostname 192.168.1.200
user root
host server2
hostname 192.168.1.220
user root
指定了server1是192.168.1.200的别名,使用root用户;server2是192.168.1.220的别名,root用户。所以登陆操作简化为:
ssh root@192.168.1.200
ssh lhzhi@server1 # 等价于
ssh lhzhi@192.168.1.200
3. ssh公私钥认证,继续简化登陆
公私钥认证是个伟大的发明,linux上使用ssh-keygen生成密钥,然后将公钥传到ssh服务器上:
ssh-copy-id -i ~/.ssh/test.pub server1
ssh-copy-id -i ~/.ssh/test.pub server2
第一个命令会生成一对密钥,保存在~/.ssh/目录下,test是私钥,test.pub是公钥。解开私钥的密码是上面指定的testpw,密钥的是生成算法是rsa。
后面两个命令ssh-copy-id把公钥传到server1和server2上以后,就能够登陆server1和server2,而不需要输入密码,但是有可能需要输入解开密钥对的密码,在我的ubuntu上,只是每次开机之后第一次解开密钥输入解开密钥的密码,以后再不用输入。
4. 携带认证代理登陆
现在已经把公钥上传到server1和server2,那么从server1登陆server2依然要输入server2的密码,那有什么办法可以避免这次密码输入呢?使用ssh的-A参数即可。
过程是:
ssh root@192.168.1.220 # 从server1免密码登陆server2
-A 参数登陆的时候会携带认证代理,具体是什么意思不清楚,我的理解是携带了私钥,导致不用输入密码。 这种办法很适合做跳板机登陆内部服务器。
6. scp传输文件
scp是最好用的数据传输办法之一,上传下载都很方便,使用ssh的22端口传递。scp比如本地有一个文本文件的目录/root/aaadir,把这个目录传到远程服务器/var目录下的方法是:
参数解释:
-r 由于是传输的一个目录,所以使用-r递归传输目录下的所有文件
-C 为了加快传输速度,使用-C压缩传输
注意:如果使用scp输入密码之后报错“bash: scp: command not found”,很可能是远程服务器没有安装openssh-clients,安装之后就可以了!
7. sftp 传输文件
ftp是一个很有用的工具,但是在没有搭建ftp的环境中要使用ftp也是能办到的。sftp就是一个很好的工具,里面有类似ftp里的put和get等等很多命令,而且是基于ssh实现的!
登陆办法是:
然后像使用ftp一样可以进行上传,删除,下载等操作了。十分简单吧!!!
8.杂记
还有一些小问题值得注意,如果登陆过程发现速度忙或者等问题,可以使用ssh -v 来显示详细的登陆过程信息。
为了安全,有些管理人员会修改默认ssh服务器的默认端口号,避免被扫描到,这是登陆ssh服务器就要使用-p参数指定修改过的端口号!
ssh还有很多高级的用法,但以上是我日常中常用到的,有其它需求可以查看ssh命令的man手册,里面应有尽有!
建议继续学习:
- Linux shell脚本使用while循环执行ssh的注意事项 (阅读:6645)
- 在ssh服务里使用chroot (阅读:4865)
- 为什么要用公钥/私钥而不是密码去做SSH身份验证 (阅读:4698)
- 懒人连ssh不输密码若干大法 (阅读:4498)
- ssh连接超时解决办法 (阅读:4485)
- 如何让ssh登录更加安全 (阅读:4497)
- ssh命令 (阅读:4227)
- SSH无密码登录 (阅读:4265)
- 共享会话的ssh连接配置 (阅读:3591)
- SSH下连接Oracle的方法 (阅读:3499)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:lhzhi 来源: 昔我往矣
- 标签: SSH
- 发布时间:2014-03-20 23:03:09
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [53] Oracle MTS模式下 进程地址与会话信
- [53] 如何拿下简短的域名
- [52] android 开发入门
- [50] 【社会化设计】自我(self)部分――欢迎区
- [49] 图书馆的世界纪录
- [47] Go Reflect 性能
- [45] 读书笔记-壹百度:百度十年千倍的29条法则
- [42] 视觉调整-设计师 vs. 逻辑
- [39] 界面设计速成