当前位置 主页 > 服务器问题 > Linux/apache问题 >

    ssh远程登录软件,ssh软件如何优雅的登录远程服务器?

    栏目:Linux/apache问题 时间:2021-01-31 14:59

         每天都要跟服务器打交道,如何登录到远程服务器上去呢?通常有两种方法:
         通过专用软件登录,常用的有:
         Xshell, 收费软件(支持平台:Windows, Mac, Linux等)
         SecureCRT,收费软件(支持平台:Windows)
         通过终端利用SSH连接,前提你要是Unix-like系统,如:
         Mac,自带终端或者iTerm2(推荐)
         Linux(Ubuntu, Centos等)
         Windows 10安装Ubutun子系统(具体可以百度搜索安装方法),推荐用自带的Windows Terminal
         1 什么是SSH
         SSH是Secure Shell的缩写, 由IETF的网络小组(Network Working Group)所制定, 是建立在应用层基础上的安全协议。
         SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
         不同主机间安全通信时进行SSH认证有2种方式:
         a. 基于密码的认证:每次登录时都要输入用户名和密码,由于密码在网上传输,存在被攻击的风险;
         b. 基于密钥的安全认证:配置完成后可以实现免密登录,这种方式更加安全和方便——不需要在网络上传递口令,只需要一次配置。常见的GitHub网站的SSH方式就是通过密钥进行的。
         2 SSH登录命令
         在终端内输入以下命令,其中@符号前面的username是用户名,后面的host是远程主机的IP地址:
    $ssh username@host
         3 配置SSH免密登录
         生成密钥对,在终端中输入如下命令,注意美元符号$代表命令提示符,下同。
    $ssh-keygen
         一路回车,在~/.shh目录下生成了2个文件:id_rsa(私钥,放在本地机器上), id_rsa.pub(公钥,放到要远程登录的机器上)
         然后通过密码形式登录目标服务器, 进入~/.ssh目录, 新建一个名为authorized_keys的文件,将id_rsa.pub中的内容拷贝到其中。
         ssh登录,发现还是需要输入登录密码,这是因为还需要正确配置文件的权限。
         a. 对于.ssh目录以及其内部的公钥、私钥文件,当前用户至少要有执行权限,其他用户最多只能有执行权限;
         b. 对于普通用户,建议设置成600权限:
    $chmod 600 id_rsa
    $chmod 600 authorized_keys
    c. 对root用户,建议设置成644权限
    $chmod 644 id_rsa
    $chmod 644 authorized_keys
         至此,再次通过ssh命令远程登录服务器,以及本地电脑与服务器之间互相拷贝文件,都不再需要输入密码了。
          机器间拷贝文件的scp命令:
         本地文件拷贝到服务器
    $scp file.txt username@host:/home/username/file.txt,这个命令会将本地电脑上的file.txt文件拷贝到服务器上的/home/username/目录下
         服务器文件拷贝到本地
    $scp username@host:/home/username/file.txt file.txt,这个命令会将服务器上的file.txt拷贝到本地电脑的当前目录下。
         原文链接:https://cloud.tencent.com/developer/article/1749458