ssh连接方法:
终端
在终端输入(user_name和ip_address改成自己的):
ssh -X user_name@ip_address
接着输入密码,即可ssh连接到服务器的终端
要断开连接的话,输入
exit
文件
在文件夹的其他位置-输入服务器地址输入:
ssh://user_name@ip_address
密钥(linux)
如果不想每次登陆都输入密码,可以通过在服务器上存放密钥实现
-
在本机生成密钥:
ssh-keygen-
首先会询问
"Enter file in which to save the key"
是决定密钥文件储存的位置,默认位置在"~/.ssh/"
如果自定义路径,那么需要设置名称,例如
/home/XXX/KEY/NAME-key将在这个路径下生成一对密钥,包含
公钥:id_xxx.pub
私钥:id_xxx -
接着询问
"Enter passphrase"
是否给 私钥文件 加一个保护口令,如果设置了,那么每次使用私钥需要输入口令
在自己的服务器上我一般不设置(直接回车)"Enter same passphrase again:"
输入相同的口令进行确认 -
然后密钥就会生成

密钥分为公钥和私钥
私钥保存在自己机器上,用来证明"我是本人"
公钥用来分发给希望连接的服务器,用来验证是否持有对应的私钥
-
-
向目标服务器拷贝公钥
ssh-copy-id user_name@ip_address
把你机的 SSH 公钥,追加到远程服务器指定用户的"~/.ssh/authorized_keys"文件中,从而启用基于密钥的 SSH 登录。指定某一把公钥:
ssh-copy-id -i ~/.ssh/id_edxxx.pubuser_name@ip_address成功后显示
"Number of key(s) added: 1" -
重新使用
ssh -X user_name@ip_address
连接目标服务器,这时会最后一次要求输入密码。
在这之后再使用ssh -X user_name@ip_address连接都不需要再输入密码
密钥(windows)
安装
打开"管理员 PowerShell"后,执行:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
把OpenSSH 目录加入"系统 Path"
Environment\]::SetEnvironmentVariable( "Path", \[Environment\]::GetEnvironmentVariable("Path","Machine") + ";$env:WINDIR\\System32\\OpenSSH", "Machine" )
然后关闭所有终端,重新打开 PowerShell
ssh -V
ssh-keygen -h
按照相同的方法生成密钥
然后在 Windows 本机查看公钥内容
type $env:USERPROFILE\.ssh\id_ed25519.pub
会看到一行类似:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... 24556@DESKTOP-XXXX
在目标服务器上
nano ~/.ssh/authorized_keys
将
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... 24556@DESKTOP-XXXX
添加到authorized_keys后方