目录

ssh

更新于 2021-01-29

ssh

本文的环境是 windows terminal 下的ssh工具,有一些关于linux的操作基本没有试验过,只是摘抄其他人的文章。之前一直使用putty, 后来windows官方推出了 windows terminal 工具后果断转。

(1)常规登陆

ssh root@119.28.57.89

注意:腾讯云的ubuntu操作系统默认关闭root用户登录。需要在/etc/ssh/sshd_config 文件中设定(后文有步骤)

ssh ubuntu@119.28.57.89

(2) 免密码登陆

如果经常登录服务器,我们可以通过设置,只需要服务器主机名自动登录。

本地生成一对公钥密钥

ssh-keygen -t rsa

过程中会提示要输入生成的目录,提示信息括号里边有,直接回车就行,默认放到当前用户的~/.ssh目录下。会生成:id_rsa(密钥) id_rsa.pub(公钥)

如果有多台服务器最好生成各自的公钥密钥

把公钥放到服务器上

scp .ssh/id_rsa.pub ubuntu@119.28.57.89:~/.ssh/authorized_keys
如果scp提示 No such file or directory,那么在服务器的当前用户下创建.ssh文件夹即可

或者:【该方法仅限Linux 操作系统】【windows terminal 默认没有安装 ssh-copy-id】

ssh-copy-id .ssh/id_rsa.pub ubuntu@119.28.57.89

ssh-copy-id这个命令会自动识别服务器~/.ssh/authorized_keys,将公钥复制进去。

在服务器设置一下自动检验的信息

打开/etc/ssh/sshd_config这个文件

sudo vi /etc/ssh/sshd_config

去掉下面几行前面“#”注释【如果没有就直接加上去即可】

RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile /root/.ssh/authorized_keys
PermitRootLogin yes

重新加载ssh配置文件

service sshd reload

本地保存ssh登陆主机的相关信息

在windows用户根目录下的.ssh文件内创建 config 文件,保存ssh登陆主机的相关信息,这样就省得输入了。

创建后打开 config 文件后输入:

Host hk
    HostName 119.28.57.89
    User ubuntu
    Port 22
    IdentityFile .ssh/id_rsa

登录

ssh hk

(3) 从本地上传文件到服务器 从服务器下载文件到本地

scp  本地文件路径 服务器帐号名@服务器的ip地址:想要保存的路径    #从本地到服务器 
scp  服务器帐号名@服务器的ip地址:文件路径  本地保存路径    #从服务器到本地

自动脚本

下面这个 python 自动脚本可以帮助你完成服务器上面的配置

wget https://raw.githubusercontent.com/jtxiaocom/pyscript/master/ssh-init.py
python3 ssh-init.py