美文网首页
SSH基本用法

SSH基本用法

作者: 是什么样的心情 | 来源:发表于2019-06-02 00:33 被阅读0次

    序言

    在玩github时,我们一般都会用到SSH,它的全称叫Secure Shell,通过SSH我们可以远程登录到Linux服务器,因为在传输过程中进行了加密处理,其安全性比Telnet和Pop要高。
    本文默认你在本地机器上安装了SSH client,在远程机器上安装了SSH server。行首local提示符代表client端,remote代表server端。

    一. 简单用法

    ssh user@remote -p port
    
    • user 是你在远程机器上的用户名,如果不指定的话默认为当前用户
    • remote 是远程机器的地址,可以是 IP,域名,或者是后面会提到的别名
    • port 是 SSH Server 监听的端口,如果不指定的话就为默认值 22

    执行完这条指令后,ssh会要求你输入密码,输入密码后即会登录到远程服务器

    二. 使用 SSH 钥匙登录

    如果我们经常需要登录到远程服务器,然而每次都要输入密码,这样会比较烦。在这里我们可以配置SSH钥匙来实现免密码登录。

    ssh-keygen
    

    在客户端执行这条命令可生成SSH钥匙,一路按回车。在~/.ssh/id_rsa.pub文件里存放了公匙,在~/.ssh/id_rsa文件里存放了密匙。现在我们可以把公匙文件里的代码追加到远程服务器里的.ssh/authorized_keys文件里。完成后ssh登录远程服务器就不需要密码了。
    生成密匙后,我们也可以用ssh-copy-id user@remote -p port命令来放置公匙到远程服务器中,原理和上面是一个意思。
    PS:想想我们用git时不也经常是用SSH钥匙来登录github的吗。

    三. 配置别名

    虽然我们配置了密匙不要输入密码了,但是我还是要输入ssh user@remote -p port命令的啊,毕竟服务器多了不容易记啊。幸好我们可以配置别名,在~/.ssh/config文件里追加一下内容

        Host centos
            HostName remote
            User user
            Port port
    

    保存之后,我们就可以直接使用ssh centos来登录。如果没有config文件的话,我们可以新建一个。

    四. SCP命令

    不同的Linux之间copy文件常用有3种方法:

    • ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。
    • 采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。
    • 利用scp命令来进行文件复制。

    scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令:

    scp /home/daisy/full.tar.gz   user@remote:/home/root
    

    然后会提示你输入另外那台远程主机的user的登录密码,接着就开始copy了。
    如果想反过来操作,把文件从远程主机copy到当前系统,也很简单:

    scp user@remote:/home/root/full.tar.gz  home/daisy/full.tar.gz
    

    如果是复制的文件夹的话添加一个-r选项。
    几个用的参数 :
    -v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
    -C 使能压缩选项 .
    -P 选择端口 . 注意 -p 已经被 rcp 使用 .
    -4 强行使用 IPV4 地址 .
    -6 强行使用 IPV6 地址 .

    五. 使程序在后台运行

    如果我们退出了SSH程序,Linux会马上kill掉我们的程序。如果我们有长时间运行的程序,而我们的SSH程序又要关掉怎么办呢,如何保持我们的程序一直进行下去呢。tmux解决了我们这个问题,tmux是一个会话管理程序,他会保持程序一直运行着。安装完tmux后执行

    remote$ tmux
    

    这样我们就进入到了 tmux管理的会话中,之后你再运行任何东西都不会因为你退出 ssh而被杀死。要暂时离开这个会话,可以先按下 ctrl+b再按下 d。要恢复之前的会话,只需要执行

    remote$ tmux attach
    

    tmux还能管理多个窗口、水平竖直切分、复制粘贴等等,我们可以看看tmux速成教程来入门。

    六. putty

    在windows系统上,我们可以用putty作为SSH client。putty配套的工具都很有用。


    参考资料

    SSH 基本用法
    scp命令
    SSH 的详细使用方法

    相关文章

      网友评论

          本文标题:SSH基本用法

          本文链接:https://www.haomeiwen.com/subject/xinztctx.html