---------------------------

2017-01-16 初版

2017-01-17 增加ssh登录端口修改

--------------------------

一、使用ssh

ssh命令用于远程登录Linux主机。

window下可以用putty来ssh登录,mac下直接使用terminal即可。

1.语法

常用格式:ssh [-l login_name] [-p port] [user@]hostname

更详细的可以用man ssh查看。

使用账号登录指定ip的服务器:

ssh 用户名@ip地址

如果服务器使用的不是标准端口,比如1024,则是:

ssh 用户名@ip地址 -p 

Mac下还有窗口打开方式:
打开terminal,菜单栏选shell - 新建远程连接

在弹出窗口内选择ssh(自动),输入服务器ip地址和用户名

完成后,在ssh菜单上选择 导出设置,在你的桌面就会看到一个刚命名的test.terminal

2. 实例

公司的服务器地址是192.168.0.11,用户名和密码是jenkins,那么登录的方式就是

ssh jenkins@192.168.0.11

3. ssh登录端口修改

修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。

·编辑配置文件:

vim /etc/ssh/sshd_config

·找到#Port 22,去掉注释,修改成一个五位的端口,比如:

Port 

·找到#PermitRootLogin yes,去掉注释,修改为:

PermitRootLogin no

·重启sshd服务:

service sshd restart

二、使用SCP

windows下我习惯使用winscp,mac下没有winscp,索性使用自带的scp命令。

语法

dzblogdeMacBook-Pro:TestFolder dzblog$ scp --help
scp: illegal option -- -
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2

参数说明:

-1    强制scp命令使用协议ssh1 
-2    强制scp命令使用协议ssh2 
-4    强制scp命令只使用IPv4寻址 
-6    强制scp命令只使用IPv6寻址 
-B    使用批处理模式(传输过程中不询问传输口令或短语) 
-C    允许压缩。(将-C标志传递给ssh,从而打开压缩功能) 
-p    保留原文件的修改时间,访问时间和访问权限
-q    不显示传输进度条
-r    递归复制整个目录
-v     详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,

-c cipher      以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config   指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit       限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option  如果习惯于使用ssh_config(5)中的参数传递方式,
-P port      注意是大写的P, port是指定数据传输用到的端口号
-S program   指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

实例

1. 复制目录到本地
将192.168.0.11linux系统下的tools文件夹,复制到/Users/dongzheng/GitRepository/temp/

scp -r jenkins@192.168.0.11:/home/jenkins/tools /Users/dzblog/GitRepository/temp/

2. 复制文件到本地

将192.168.0.11linux系统/home/jenkins/tools/test.file,复制到当前目录

scp jenkins@192.168.0.11:/home/jenkins/tools/test.file ./

3. 上传本地目录到服务器

将本地目录testFolder,上传到,地址是192.168.0.11的linux系统下的/home/jenkins/tools/文件夹下

scp -r ./testFolder jenkins@192.168.0.11:/home/jenkins/tools/

也可以反过来:

scp -r jenkins@192.168.0.16:/Users/jenkins/jenkins-android/workspace/testFolder ./

4. 上传本地文件到服务器

将在testFolder下的test.txt,上传到,地址是192.168.0.11的linux系统下的/home/jenkins/tools/文件夹下

scp ./testFolder/test.txt jenkins@192.168.0.11:/home/jenkins/tools/

参考

http://www.cnblogs.com/littleBit/p/5362806.html
http://ypf3027.iteye.com/blog/1405507
http://blog.163.com/l1_jun/blog/static/143863882014325115230504/
https://www.zhihu.com/question/50641425

[Linux][Mac]如何使用SSH登陆远程Linux服务器&使用SCP下载远程终端文件的更多相关文章

  1. Mac下用SSH连接远程Linux或Mac服务器

    1.打开Mac终端 2.切换到root登录 输入命令:sudo -i,然后输入本机密码 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px &qu ...

  2. Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录

    1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...

  3. ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机

    ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机 使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linu ...

  4. ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机【OK】

    ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机[OK]     使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能 ...

  5. Linux下不借助工具实现远程linux服务器上传下载文件

    # Linux下不借助工具实现远程linux服务器上传下载文件 ## 简介 - Linux下自带ssh工具,可以实现远程Linux服务器的功能- Linux下自带scp工具,可以实现文件传输功能 ## ...

  6. Mac使用ssh登录远程linux系统查看jetty日志及同时使用github工具

    转载请注明出处:http://www.houxiurong.com/?post=27 Mac默认是安装了ssh工具软件的. 先用mac的 终端工具生成 id_rsa 和id_rsa.pub 秘钥,生成 ...

  7. linux_ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机

    使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机. ssh-keygen 创建公钥和密钥. ssh-copy-id 把本地主 ...

  8. 教你如何配置linux用户实现禁止ssh登陆机器但可用sftp登录!

    构想和目标最近有个这样的诉求:基于对线上服务器的保密和安全,不希望开发人员直接登录线上服务器,因为登录服务器的权限太多难以管控,如直接修改代码.系统配置,并且也直接连上mysql.因此希望能限制开发人 ...

  9. linux 禁止指定账号ssh登陆

    1 2 3 4 vim /etc/pam.d/sshd   #在第一行添加以下代码 auth       required     pam_listfile.so item=user sense=de ...

随机推荐

  1. 微信小程序的一些小知识点

    1. <text>hello</text> 只有包含在<text>标签内的文字,在手机上才可以长按选中. 2. 单位px:自适应rpx = 1:1 物理像素除以2得 ...

  2. 【Mybatis】MyBatis之动态SQL(六)

    MyBatis 的强大特性之一便是它的动态 SQL,本章介绍动态 SQL 查看本章,请先阅读[Mybatis]MyBatis对表执行CRUD操作(三). 本例表结构 CREATE TABLE `emp ...

  3. centos7 启动tomcat卡盾

    vim $JAVA_HOME/jre/lib/security/java.security securerandom.source=file:/dev/random 改为 securerandom.s ...

  4. centos6安装oracle时运行./runInstaller无法弹出图形界面

    首先确保安装oracle的机器上安装了图形化界面. 1.利用xmanager登录到安装oracle的服务器上(直接用root用户登录) 2.运行 export DISPLAY=你的本机地址:0.0 3 ...

  5. Appium系列文章(1)获取appPackage和appActivity

    appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的.那如何快速的获取这APP的这两个参数呢? 通过cmd命令 ...

  6. mysql查询前一天的数据

    curdate()表示当天日期 统计前一天的日志sql语句: day); 要求: 统计从昨天开始统计前7天的日志包括昨天 day) ---------------------   date_sub( ...

  7. Flask web 开发出现错误:TypeError: Allowed methods have to be iterables of strings, for example: @app.route(..., methods=["POST"])

    没有发现普通都语法错误,然后一一比对官方教程里面的代码,发现是在“@bp.route('/<int:id>/delete', methods=('POST'))”这一行代码里面method ...

  8. BZOJ3105-新Nim游戏

    Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴 ...

  9. Xaml引用图片路径的方式

    最近写代码的时候遇到过好几次引用某个路径下图片资源的情况,思索了一下,便将自己所知的在xaml里引用图片资源的方法写成了个小Demo,并完成了这篇博文.希望罗列出的这些方式能够对大家有所帮助. Xam ...

  10. vector作为二维数组

    vector本来就是可以用来代替一维数组的,vector提供了operator[]函数,可以像数组一样的操作,而且还有边界检查,动态改变大小. 这里只介绍用它来代替二维的数组,二维以上的可以依此类推. ...